У меня есть приложение, которое при использовании файла сообщает, что оно имеет 2 архитектуры в Mach-O.
iPad:~/map/MyApp.app root# file MyApp
MyApp: Mach-O fat file with 2 architectures
РЕДАКТИРОВАТЬ - я также проверил это с помощью инструмента Xcode
xcrun -sdk iphoneos lipo -info MyApp
Architectures in the fat file: MyApp are: armv7 arm64
Когда я использую otool для поиска архитектур, я вижу, что у меня их 2: ARMv7 (cpusubtype 9) и ARM64 (cpysubtype 0).
iPad:~/map/MyApp.app root# otool -arch all -Vh MyApp
MyApp (architecture cputype (12) cpusubtype (9)):
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC ARM 9 0x00 EXECUTE 41 4760 NOUNDEFS DYLDLINK TWOLEVEL PIE
MyApp (architecture cputype (16777228) cpusubtype (0)):
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC_64 16777228 0 0x00 EXECUTE 41 5368 NOUNDEFS DYLDLINK TWOLEVEL PIE
Однако, когда я пытаюсь использовать lipo для прореживания двоичного файла, я получаю следующую ошибку.
iPad:~/map/MyApp.app root# lipo -thin armv7 MyApp -output ~/map/myappv7
-sh: /usr/bin/lipo: Bad CPU type in executable
Любые идеи, почему я не могу придумать этот конкретный двоичный файл? Я обновил свой бинарный файл lipo, так как предыдущий при использовании с armv7 сказал: нет архитектуры этого типа.
file MyApp
для двойной проверки содержащихся фрагментов. - person shallowThought   schedule 06.12.2016MyApp: Mach-O fat file with 2 architectures
- person P Shaw   schedule 06.12.2016xcrun -sdk iphoneos lipo -info MyApp
. Может быть, и для разбавления. - person shallowThought   schedule 06.12.2016$ file Myappv7
Myappv7: Mach-O executable arm
$ xcrun -sdk iphoneos lipo -info Myappv7
Non-fat file: Myappv7 is architecture: armv7
есть идеи, почему это не работает на iPad? - person P Shaw   schedule 06.12.2016