Жирные двоичные файлы iOS и истончение

У меня есть приложение, которое при использовании файла сообщает, что оно имеет 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 сказал: нет архитектуры этого типа.


person P Shaw    schedule 06.12.2016    source источник
comment
пожалуйста, используйте file MyApp для двойной проверки содержащихся фрагментов.   -  person shallowThought    schedule 06.12.2016
comment
Привет, я уже сделал это, это было в верхней части вопроса: MyApp: Mach-O fat file with 2 architectures   -  person P Shaw    schedule 06.12.2016
comment
Ах, извините. Это выдает более подробную информацию здесь. Может быть, попробовать использовать Xcodes lipo: xcrun -sdk iphoneos lipo -info MyApp. Может быть, и для разбавления.   -  person shallowThought    schedule 06.12.2016
comment
И истончение с Xcode lipo? Та же проблема?   -  person shallowThought    schedule 06.12.2016
comment
нет, отлично работал с губой Xcode. $ 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
comment
Нет, но в прошлом у меня тоже были проблемы с липосакцией, в Xcode lipo проблем не было.   -  person shallowThought    schedule 06.12.2016
comment
отлично, спасибо, добавьте ответ, и я приму   -  person P Shaw    schedule 06.12.2016


Ответы (1)


У нас было несколько проблем, которые мы не могли объяснить в прошлом с lipo, и все они не были проблемой с использованием Xcodes lipo.

Попробуйте:

xcrun -sdk iphoneos lipo -thin armv7 MyApp -output ~/map/myappv7
person shallowThought    schedule 06.12.2016