3

これらのAppleMach-OLinkerエラーが発生し、これらの読み方がわかりません。プロジェクトに「CLCredentialHeader.h」と「CLCredentialHeader.m」をインポートした後、これらのエラーが発生しました。

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

3 に答える 3

19

SFHFKeychainUtils.mビルドターゲットの「ソースのコンパイル」ビルドフェーズに表示されていることを確認してください。Xcodeでプロジェクトにファイルを追加しても、すべての実装ファイルが適切なターゲットに追加されない場合があります。

于 2012-04-27T20:23:28.700 に答える
9

別のプロジェクトからクラスをドラッグアンドドロップして、ポップアップするウィンドウで「ターゲットに追加」をマークするのを忘れたときに、これが発生することがあります。これは非常に正当な質問だと思います。エラーメッセージもあまり直感的ではありません。解決策は、XCodeでプロジェクトをクリックし、[ビルドフェーズ]をクリックして[ソースのコンパイル]を開き、[+]と言うだけで簡単です。ここにすべての言葉よりも多くを語るいくつかの写真があります。

したがって、エラーが次のようになっている場合は、DataAccessクラスが未定義であることを示しています。

ここに画像の説明を入力してください

これは、プロジェクトにドラッグアンドドロップしたばかりのクラスとして認識しています。プロジェクトにDataAccess.mを追加します

ここに画像の説明を入力してください

もともとは「ターゲットに追加」とマークすることで回避できたはずです

ここに画像の説明を入力してください

于 2012-08-14T05:25:46.543 に答える
1

上記の回答がうまくいかない場合は、セキュリティフレームワークが追加されていることを確認してください。そうでない場合は、ターゲットのビルドフェーズセクションに追加します。それなら大丈夫なはずです:)

于 2013-05-23T08:44:56.700 に答える