บ่อยครั้งเราเรียกใช้แอปพลิเคชันบนระบบของเราที่ไม่ได้ลงชื่ออย่างถูกต้องหรือในบางกรณีอาจเก่า สำหรับผู้ใช้ Windows พวกเขามักจะได้รับคำเตือนพร้อมกับตัวเลือกในการเรียกใช้แอปพลิเคชันอยู่ดี อย่างไรก็ตาม นั่นไม่ใช่กรณีที่เกิดขึ้นกับระบบ Mac เมื่อคุณพยายามเรียกใช้แอปพลิเคชันที่ไม่ได้เซ็นชื่อแบบดิจิทัลอย่างถูกต้องหรือซอฟต์แวร์อื่นที่พัฒนาโดยชุมชนเพื่อวัตถุประสงค์ที่แตกต่างกัน คุณอาจได้รับ “Application.app เสียหายและไม่สามารถเปิดได้ ” ข้อความแสดงข้อผิดพลาด
สาเหตุที่ข้อความแสดงข้อผิดพลาดนี้เกิดขึ้นค่อนข้างชัดเจน macOS มีคุณสมบัติการรักษาความปลอดภัยเฉพาะที่ตรวจสอบแอปพลิเคชันที่คุณต้องการเรียกใช้ จากนั้นจึงอนุญาตให้เรียกใช้แอปพลิเคชันได้ ทั้งนี้ขึ้นอยู่กับการเซ็นโค้ด อย่างไรก็ตาม ในบางสถานการณ์ เมื่อแอปที่คุณต้องการเรียกใช้เป็นเวอร์ชันเก่าและไม่ได้ลงนาม คุณจะถูกโยนข้อความแสดงข้อผิดพลาดดังกล่าว เนื่องจาก Gatekeeper ไม่อนุญาตให้ทำงาน แอปนี้ถือว่าไม่ปลอดภัย ดังนั้นจึงแนะนำให้ลบออก
ตอนนี้อาจมีประโยชน์จริง ๆ ในกรณีส่วนใหญ่ แต่มีแอพที่เชื่อถือได้และคุณสมบัติความปลอดภัยของ Gatekeeper ตรวจพบว่าไม่ปลอดภัย ในกรณีเช่นนี้ ในการเอาชนะปัญหา สิ่งที่คุณต้องทำคือเปลี่ยนการตั้งค่าระบบ เรียกใช้แอปพลิเคชันโดยใช้คำสั่ง xattr หรือปิดใช้งาน Gatekeeper ชั่วขณะหนึ่ง จากที่กล่าวมา ให้เรามาดูวิธีการต่างๆ ที่จะช่วยแก้ปัญหา
วิธีที่ 1:เรียกใช้แอปจากหน้าต่างเทอร์มินัล
ตามที่ปรากฏ หากคุณเรียกใช้แอปพลิเคชันเดียวกันจากหน้าต่างเทอร์มินัลโดยใช้สิทธิ์ผู้ใช้ระดับสูง แอปพลิเคชันจะทำงานโดยไม่มีปัญหาใดๆ โดยทั่วไปการอนุญาต superuser จะแทนที่คุณสมบัติ Gatekeeper ดังนั้นแอปพลิเคชันจะได้รับอนุญาตให้ดำเนินการ คุณควรทำสิ่งนี้เท่านั้นและก็ต่อเมื่อคุณเชื่อถือแอปพลิเคชันที่คุณต้องการเรียกใช้โดยสมบูรณ์เท่านั้น การทำเช่นนี้กับแอปสุ่มใดๆ ที่คุณได้มาจากอินเทอร์เน็ตไม่ใช่ความคิดที่ดี จากที่กล่าวมา ให้ทำตามคำแนะนำด้านล่างเพื่อเรียกใช้แอป:
- ก่อนอื่น เปิด เทอร์มินัล หน้าต่างโดยไปที่ Finder> Go> Utilities .
- จากนั้น ค้นหาและเปิดเทอร์มินัล
- เมื่อหน้าต่างเทอร์มินัลเปิดขึ้น ให้ใช้คำสั่งต่อไปนี้เพื่อเรียกใช้แอปพลิเคชัน:
sudo xattr -cr /path/to/application.app
- เคล็ดลับเล็กๆ น้อยๆ ที่นี่คือแค่ไปที่ไดเร็กทอรีที่มีแอปอยู่ จากนั้นลากและวางไปที่หน้าต่างเทอร์มินัล ซึ่งจะวางเส้นทางของแอปพลิเคชันโดยอัตโนมัติ
- เมื่อคุณทำเสร็จแล้ว เพียงเขียน sudo xattr -cr หน้าเส้นทางแล้วกด Enter .
- ระบบจะถามรหัสผ่านผู้ดูแลระบบของคุณ จากนั้นกด Enter อีกครั้ง
- แอปควรทำงานทันที
วิธีที่ 2:ปิดใช้งานการตรวจสอบชั่วคราว
อีกวิธีหนึ่งที่คุณสามารถกำจัดข้อความแสดงข้อผิดพลาดได้คือการปิดใช้งานการตรวจสอบทั่วโลกชั่วคราว ดังที่เราได้กล่าวไว้ข้างต้น Gatekeeper เป็นคุณสมบัติความปลอดภัยใน macOS ที่ตรวจสอบแอพที่คุณต้องการเรียกใช้และปกป้องระบบของคุณจากมัลแวร์เป็นหลัก ตามที่ปรากฏ ในบางกรณีจะถือว่าแอปที่ไม่ได้ลงชื่อบางแอปที่คุณดาวน์โหลดมานั้นไม่ปลอดภัย นั่นคือเหตุผลที่คุณได้รับข้อความแสดงข้อผิดพลาดดังกล่าว ดังนั้น วิธีแก้ไขเบื้องต้นง่ายๆ ที่นี่คือเพียงแค่ปิดใช้งานคุณลักษณะนี้ชั่วคราวแล้วเปิดใหม่อีกครั้ง วิธีทำ:
- ในการปิดใช้งาน Gatekeeper คุณต้องเปิดหน้าต่าง Terminal บนอุปกรณ์ Mac ของคุณก่อน
- คุณสามารถทำได้ผ่าน Finder> Go> Utilities หรือเพียงแค่ค้นหาในสปอตไลท์
- เมื่อเปิด Terminal แล้ว ให้รันคำสั่งต่อไปนี้เพื่อปิดการตรวจสอบ:
sudo spctl --master-disable
- ระบุรหัสผ่านผู้ดูแลระบบของคุณเพื่อดำเนินการให้เสร็จสิ้น
- เมื่อคุณทำเสร็จแล้ว ให้เรียกใช้แอปพลิเคชัน
- คุณต้องเปิดใช้งานการตรวจสอบอีกครั้งหลังจากใช้แอปพลิเคชันแล้ว
- ในการดำเนินการนี้ ให้เรียกใช้คำสั่งต่อไปนี้:
sudo spctl --master-enable
วิธีที่ 3:อนุญาตแอปจากทุกที่
คุณยังสามารถอนุญาตให้แอปทำงานจากทุกที่โดยไม่มีปัญหาใดๆ จากการตั้งค่าระบบ macOS นี่คือที่ตั้งการตั้งค่า Gatekeeper และคุณจะต้องแก้ไขเพื่อให้แอปทั้งหมดทำงาน โดยทำตามคำแนะนำด้านล่าง:
- ก่อนอื่น เปิด การตั้งค่าระบบ หน้าต่างบน Mac ของคุณ
- จากนั้น บนหน้าจอ System Preferences ให้ไปที่ Security &Privacy .
- บนแท็บทั่วไปของความปลอดภัยและความเป็นส่วนตัว ให้คลิกไอคอนแม่กุญแจเพื่อปลดล็อกตัวเลือกบางตัว
- ระบบจะถามรหัสผ่านผู้ดูแลระบบของคุณ ระบุแล้วกด Enter
- จากนั้น ในส่วน “อนุญาตให้ดาวน์โหลดแอปพลิเคชันจาก “ เลือก ทุกที่ ตัวเลือก.
- สุดท้าย คลิกไอคอนแม่กุญแจอีกครั้งเพื่อบันทึกการเปลี่ยนแปลง
- เมื่อคุณทำเสร็จแล้ว ให้เรียกใช้แอปพลิเคชัน
- อย่าลืมเปลี่ยนการตั้งค่ากลับเป็นค่าเริ่มต้นเมื่อคุณเปิดแอปพลิเคชันแล้ว คุณจะไม่ต้องการมันอีกในอนาคตสำหรับแอปเดียวกัน
วิธีที่ 4:ให้สิทธิ์
ในบางสถานการณ์ ปัญหาอาจเกิดขึ้นเนื่องจากการจำกัดสิทธิ์ หากคุณพยายามเรียกใช้ไฟล์ที่ไม่มีสิทธิ์อนุญาต คุณอาจได้รับข้อความแสดงข้อผิดพลาดดังกล่าว ในกรณีเช่นนี้ สิ่งที่คุณต้องทำคือให้สิทธิ์ที่จำเป็น จากนั้นลองเรียกใช้ โดยทำตามคำแนะนำด้านล่าง:
- ก่อนอื่น เปิดหน้าต่าง Terminal บน Mac ของคุณ พิมพ์ sudo chmod +x ในหน้าต่าง Terminal แต่อย่ากด Enter
- จากนั้น ไปที่แอปพลิเคชัน คลิกขวาที่แอปพลิเคชันนั้นแล้วเลือก แสดงเนื้อหาแพ็คเกจ .
- ที่นั่น ไปที่ เนื้อหา> MacOS .
- จากนั้น ค้นหาไฟล์ที่มีชื่อแอปพลิเคชันและไม่มีนามสกุล ในกรณีที่มีไฟล์เพียงไฟล์เดียว ให้ลากและวางในหน้าต่างเทอร์มินัล
- ตอนนี้ คำสั่งควรมีลักษณะดังนี้:
sudo chmod +x /path/to/application
- สุดท้าย กด Enter เพื่อรันคำสั่ง ระบุรหัสผ่านผู้ดูแลระบบ
- จากนั้น เรียกใช้แอปพลิเคชันและดูว่าสามารถแก้ปัญหาได้หรือไม่