Добавление Parsekit в проект Xcode - PullRequest
3 голосов
/ 24 мая 2010

Я пытаюсь добавить инфраструктуру Parsekit в мой проект OSX Xcode. Я никогда не добавлял сторонние фреймворки раньше и не могу заставить их работать правильно.

Я перетащил включенный проект Xcode в панель «Группы и файлы» и решил добавить его в свой проект. Затем я перетащил Parsekit.framework под заголовком Link Binary With Libraries. Затем я дважды щелкнул по своему целевому приложению и добавил Parsekit как прямую зависимость. Я также добавил libicucore.dylib в качестве связанной библиотеки (как сказано, чтобы сделать это на своем сайте). Наконец, на вкладке Настройки сборки моей информации о цели я установил Header Search Paths на /Users/path/to/include/directory и Other Linker Flags на -ObjC -all_load.

Запуск этой отладочной сборки работает без ошибок. Однако, когда я собираю свое приложение для выпуска и затем пытаюсь запустить созданный исполняемый файл, приложение не может загрузить со следующим сообщением об ошибке:

MyApp не может быть открыт из-за проблемы. Обратитесь к разработчику, чтобы убедиться, что myApp работает с этой версией Mac OS X.

Вот дамп из аварийного репортера:

Процесс: MyApp [11658] Путь:
/Users/Garry/Programming/Xcode/Mac/MyApp/build/Release/MyApp.app/Contents/MacOS/MyApp Идентификатор: com.yourcompany.MyApp Версия: ??? (???) Тип кода: Родительский процесс X86-64 (Native): launchd [135] Дата / Время:
2010-05-24 17: 08: 08.475 +0100 ОС Версия: Mac OS X 10.6.3 (10D573) Версия отчета: 6Interval с момента последнего Отчет: 133300 сек. Сбои Со времени последнего отчета: 3 на приложение Сбои с момента последнего отчета: 3 Анонимный UUID:
DF0265E4-B5A0-45E1-8B71-D52A27CFDDCA

Тип исключения: EXC_BREAKPOINT (SIGTRAP) Коды исключений: 0x0000000000000002, 0x0000000000000000 Разбитая нить: 0

Dyld Сообщение об ошибке: Библиотека не нагрузить: @executable_path /../ Каркасы / ParseKit.framework / Версии / А / ParseKit Ссылка от: /Users/Garry/Programming/Xcode/Mac/MyApp/build/Release/MyApp.app/Contents/MacOS/MyApp Причина: изображение не найдено

Модель: MacBookPro5,5, BootROM MBP55.00AC.B03, 2 процессора, Intel Core 2 Duo, 2,53 ГГц, 4 ГБ, SMC 1.47f2 Графика: NVIDIA GeForce 9400M, NVIDIA GeForce 9400M, PCI, 256 МБ памяти Модуль: global_name AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8D), Broadcom BCM43xx 1.0 (5.10.91.27) Bluetooth: версия 2.3.1f4, 2 службы, 2 устройства, 1 входящий последовательный порт. Сетевой сервис: AirPort, AirPort, en1 Сетевой сервис: Адаптер Ethernet (en6), Ethernet, en6 Устройство Serial ATA: Hitachi HTS545025B9SA02, 232,89 ГБ Serial ATA Устройство: HL-DT-ST DVDRW GS23N USB Устройство: встроенный iSight, 0x05ac (Apple Inc.), 0x8507, 0x24400000 USB Устройство: Внутренний считыватель карт памяти, 0x05ac (Apple Inc.), 0x8403, 0x26500000 USB-устройство: ИК-приемник, 0x05ac (Apple Inc.), 0x8242, 0x04500000 USB-устройство: Apple Internal Клавиатура / трекпад, 0x05ac (Apple, Inc.), 0x0237, 0x04600000 USB-устройство: BRCM2046 Hub, 0x0a5c (Broadcom Corp.), 0x4500, 0x06100000 USB-устройство: Bluetooth USB Host Controller, 0x05ac (Apple Inc.), 0x8213, 0x06110000

После сборки приложения, помимо исполняемого файла, Xcode также создает файл с именем MyApp.app.dSYM. Любая идея, что это такое?

Я разрабатываю с Xcode 3.2.2 на Intel MBP под управлением 10.6.3.

Большое спасибо за любую помощь.

Редактировать: Новая проблема! Большое спасибо diciu за ваши предложения - изначально я думал, что они решили проблему. Однако я скопировал скомпилированное приложение на Macbook моей жены (Intel, 10.6.3), но оно не запустилось. Вместо этого я получаю следующее сообщение об ошибке:

Вы не можете открыть приложение MyApp, потому что оно не поддерживается на этом типе Mac.

В настройках сборки MyApp у меня Valid architectures установлено на i386 x86_64, поэтому оно должно работать. Чем это может быть вызвано?

Редактировать: Проблема решена Я случайно проверил флаг Build active architecture only в настройках сборки.Снятие отметки исправило мою проблему.Большое спасибо!

Ответы [ 2 ]

6 голосов
/ 24 мая 2010

Вы должны создать шаг «копировать файлы» под своей целью.

Щелкните правой кнопкой мыши на своей цели, выберите «Добавить» -> «Новая фаза сборки» -> «Новая фаза сборки файлов копирования».В качестве места назначения выберите «Frameworks».

В только что созданном этапе сборки перетащите свою инфраструктуру Parsekit.

Пакет dsym из каталога сборки содержит символы отладки .

1 голос
/ 15 марта 2012

Разработчик ParseKit здесь.

Метод для этого изменился в Xcode 4. См. Мой ответ на Как встроить ParseKit в качестве частного фреймворка в комплект Mac App для подробных инструкций о том, как сделать это в Xcode 4 Mac App.

...