Как удалить раздел ppc в рамке?

Теперь я добавляю поддержку уведомления о выражении в мое приложение, когда я отправил его в магазин приложений Mac с помощью органайзера, он говорит, что " Неподдерживаемая архитектура - исполняемые файлы приложений могут поддерживать одну или обе архитектуры Intel:

i386 (32-разрядный) x86_64 (64-разрядная версия) " Наконец, я нахожу, что его проблема связана с библиотекой growl, поэтому мне нужно удалить раздел ppc в рычание, так, как? Пожалуйста, помогите..

Ответ 1

Используйте служебную программу командной строки lipo, которая разделяет архитектуры с полными двоичными файлами (какое подходящее имя). Сначала проверьте, какие архитектуры существуют в вашей структуре Growl:

$ lipo -info path/to/Growl.framework/Growl
Architectures in the fat file: Growl are: x86_64 i386 ppc

В этом случае мы просто имеем ppc, но есть около 10 вариантов (из которых я встретил 3). Чтобы избежать каких-либо неожиданностей, вы должны запускать эту команду в любое время, когда хотите вырезать архитектуры из файла, а не просто прыгать на часть удаления. (Если вам интересно, man 3 arch содержит исчерпывающий список возможных архитектур для полных двоичных файлов в Mac OS.)

Затем удалите архитектуру ppc:

$ lipo -remove ppc path/to/Growl.framework/Growl -output GrowlIntel

Найдите реальный двоичный файл Growl (должен быть где-то в версиях) и замените его на GrowlIntel.

Ответ 2

Вы также можете использовать "ditto". Я отправил свое последнее приложение Mac с включенными фреймами, которые были удалены с поддержки ppc, используя две приведенные ниже команды. Никаких отказов от Apple.

$ ditto -rsrc --arch i386 --arch x86_64 Growl-WithInstaller Growl-WithInstaller_noppc
$ lipo -info Growl-WithInstaller_noppc