1

プロジェクトに新しいフレームワークを追加しました。フレームワークの .xcodeproj ファイルをプロジェクトの子としてドラッグしました。そのプロジェクトの製品をメイン プロジェクトのターゲット依存関係、リンク バイナリとライブラリおよびコピー ファイル (フレームワーク) に追加しました。テスト リリースのビルドやプロジェクトの実行に問題はありません。

しかし、アーカイブ リリースを作成しようとすると、またはプロジェクトのプロファイルを作成しようとすると、次のエラーで失敗します。

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_Something", referenced from:
      objc-class-ref in DasProject-F7DB55F503641F0A.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

tl;dr:問題なくデバッグ ビルドを作成して実行できます。アーカイブ ビルドでは特定のフレームワークが見つかりません。

4

2 に答える 2

0

「ライブラリ検索パス」(「ビルド設定」->「検索パス」)を「$(TARGET_BUILD_DIR)」または「$(BUILT_PRODUCTS_DIR)」に設定してみてください(私のプロジェクトでは同じです)
また、Tools Workflow Guide for iOSに記載されているターゲットのビルド スキーム(iOS ドキュメントであることは無視して、画像を参照してください)

于 2013-03-28T12:55:09.240 に答える
0

新しい Cocoa フレームワークをゼロから作成し、必要な .h ファイルと .m ファイルをコピーしました。これで問題は解決しました。

このフレームワークと私が使用している他のフレームワークとのビルド オプションを比較したところ、異常が見られなかったので、これは Xcode のバグではないかと疑っています。

于 2013-03-28T16:54:48.247 に答える