libobjc.A. ошибка компиляции dylib в iOS 4.3

У меня есть ошибка компиляции в iOS Simulator 4.3, я не могу ее понять, ошибка, которую я получаю:

dyld: lazy symbol binding failed: Symbol not found: _objc_retain
  Referenced from: /Users/ben/Library/Application Support/iPhone Simulator/4.3.2/Applications/75915A97-7C3D-489A-B7B0-7B6895A4B584/AppName.app/AppName
  Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/libobjc.A.dylib

dyld: Symbol not found: _objc_retain
  Referenced from: /Users/ben/Library/Application Support/iPhone Simulator/4.3.2/Applications/75915A97-7C3D-489A-B7B0-7B6895A4B584/AppName.app/AppName
  Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib/libobjc.A.dylib

Примечание:
Ссылка на библиотеку (libobjc.A. dylib) на самом деле находится в "ожидаемом месте" Код отлично работает на устройстве iOS5 и в симуляторе iOS5.

2 ответов


добавить -fobjc-arc в настройках сборки => другие флаги компоновщика (OTHER_LDFLAGS) для различных конфигураций


эта проблема возникает, если вы используете библиотеку, использующую ARC и хотите сборка / запуск на старых устройствах iOS 4.

В Настройках Сборки => Другие Флаги Компоновщика

  • добавить -fobjc-arc
  • если еще не решено, то добавьте -weak_library /usr/lib/libobjc.A.dylib