Символ не найден: _OBJC_CLASS _ $ _ NSURL ошибка при запуске в Mac OS X Leopard - PullRequest
2 голосов
/ 05 сентября 2010

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

Процесс: MyApp [222] Путь: /Applications/MyApp.app/Contents/MacOS/MyApp Идентификатор: com.MyCompany.MyAppAppAndImporter Версия: ??? (???) Тип кода: X86-64 (собственный) Родительский процесс: launchd [155]

Дата / Время: 2010-09-04 14: 27: 21.668 -0400 Версия ОС: Mac OS X 10.5.8 (9L30) Версия отчета: 6 Анонимный UUID: 8F8B3FDF-6F95-463B-AC8F-170775D224D2

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

Dyld Сообщение об ошибке: Символ не найден: _OBJC_CLASS _ $ _ NSURL Ссылка на: /Applications/MyApp.app/Contents/MacOS/MyApp Ожидается в: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation

Пользователь использует OS X 10.5.8 на 3,06 ГГц Core 2 Duo Macbook Pro. Я могу нормально запустить приложение под Tiger и Leopard на моем PowerBook G4 и на Snow Leopard на моем iMac. По крайней мере, один пользователь может нормально запустить приложение под Snow Leopard. Из моего (предположительно небольшого) выборочного набора я думаю, что проблема специфична для 64-битных машин, работающих под управлением Leopard.

Мой проект скомпилирован с 10,6 SDK с целевым значением развертывания 10,4.

Я перекомпилировал с использованием 10.5 SDK, и проблема исчезла. По-моему, это связано с переходом NSURL из Foundation в CoreFoundation в Snow Leopard (см. http://www.cocoabuilder.com/archive/cocoa/280239-nsurl-crash.html?q=%22nsurl+crash%22#280239).. Я не понимаю, почему он работает нормально на моем (32-разрядном) PowerBook G4, но не на 64-битном Intel Mac пользователя, хотя оба работают под управлением Leopard.

Есть мысли о том, как это исправить или почему именно это происходит?

Ответы [ 2 ]

1 голос
/ 05 сентября 2010

Это должно запускаться на 64-битной машине с леопардами Учитывая искажение имени класса, оно выглядит как 64-битное.

Пользователь должен отправить вам отчет о профиле системы.

0 голосов
/ 13 января 2012

Я так и не нашел реального решения этого.Из-за зависимости от libcrypto.0.9.7 я просто собираю релизные версии приложения, этот вопрос был о 10.5.

...