7

iOS 5.1 シミュレーターでプロジェクトを実行すると、次のように表示されます

yld: lazy symbol binding failed: Symbol not found: _objc_setProperty_nonatomic_copy
  Referenced from: /Users/apple/Library/Application Support/iPhone Simulator/5.1/Applications/3A003E5F-2C66-494F-BCC1-C3EE82F01464/dogTree.app/dogTree
  Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/System/Library/Frameworks/Foundation.framework/Foundation

5.1 SDK を持っていません。しかし、なぜライブラリの検索パスが 6.0 ではなく 5.1 なのですか?

私のプロジェクトはすべて iOS 6.0 デバイスで実行されますが、iOS 5.0 または 5.1 デバイスにインストールするとクラッシュし、次のメッセージのように表示されます。

iOS 5.1 SDK で iPhone 5.1 シミュレーターを実行する必要がありますか?

4

3 に答える 3

22

同じ問題が発生し、含まれているプロジェクトのターゲットプラットフォームを変更するのを忘れていたことがわかりました。Xcodeは、アップグレード時にターゲットを最新のiOSに自動的に切り替えます。含まれているプロジェクトのターゲットを変更するだけで、これが修正されました。

于 2012-10-03T18:25:27.637 に答える
3

同様の問題に遭遇し、依存する各静的ライブラリの展開ターゲットを 4.3 (アプリの最小バージョンと同じ) に設定することで解決しました。
依存している静的ライブラリはデフォルトで 6.0 であることがわかりました。これにより、下位バージョンに互換性が必要な場合に一部のライブラリが失われるに違いありません。

于 2012-10-05T16:32:28.913 に答える