ฉันพยายามเปิดแอปรุ่นเก่าใน macOS Sierra มันทำงานได้ดีใน El Capitan แต่เนื่องจากการอัปเดตเป็น Sierra มันจะล้มเหลวทันทีที่เปิดตัวพร้อมกับข้อผิดพลาด
ไบนารี UPX ที่ถูกบีบอัดนี้มีส่วนหัว Mach-O ที่ไม่ถูกต้องและไม่สามารถโหลดได้
การใช้ Homebrew ใน El Capitan ฉันติดตั้ง UPX และใช้เพื่อลองคลายการบีบอัดไบนารีอย่างไรก็ตามสิ่งนี้บอกฉันว่าไบนารีไม่ถูกบีบอัดตั้งแต่แรก
$ upx -d /tmp/Run.app/Contents/MacOS/Run
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2013
UPX 3.91 Markus Oberhumer, Laszlo Molnar & John Reiser Sep 30th 2013
File size Ratio Format Name
-------------------- ------ ----------- -----------
upx: /tmp/Run.app/Contents/MacOS/Run: NotPackedException: not packed by UPX
Unpacked 0 files.
นี่คือบันทึกข้อผิดพลาดจากการเปิดแอปในเซียร์รา
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: EXEC, [0xc] This UPX compressed binary contains an invalid Mach-O header and cannot be loaded.
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fffcffeabb2 __posix_spawn + 10
1 libsystem_kernel.dylib 0x00007fffcffe5ef2 posix_spawn + 386
2 xpcproxy 0x000000010dbb2d75 0x10dbb0000 + 11637
3 xpcproxy 0x000000010dbb3992 0x10dbb0000 + 14738
4 libdyld.dylib 0x00007fffcfebc255 start + 1
ฉันจะเปิดแอพนี้ในเซียได้อย่างไร