У меня есть проект без ARC, который использует статическую библиотеку с поддержкой ARC. Это поддерживаемый сценарий, так что все работает нормально. То есть, пока я не запустил код на устройстве 4.x, включая Simulator. В этом случае код взрывается со следующей ошибкой компоновщика:
dyld: lazy symbol binding failed: Symbol not found: _objc_storeStrong
Referenced from: /Users/zoul/Library/Application Support/iPhone Simulator/4.3.2/Applications/…/Demo.app/Demo
Expected in: /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation
Это происходит, как только часть кода с поддержкой ARC вызывает функцию _objc_storeStrong
, как в методе init
(self = [super init]
). Преобразование основного проекта в ARC решает проблему, но Id нравится знать, есть ли другие решения.