6

私の iPhone アプリで作業し、デバッグ用にビルドしようとすると、「アーキテクチャ armv7 の 106 個の重複シンボル」が表示されますか?

CocoaPods を使用しようとしているため、.workspace ファイルを使用しています。.workspace を使用せずに .xcodeproj を使用すると、エラーは発生しませんが、 -lPods がありません。

私のプロジェクトでは、Project Navigator に次のターゲットがあります。

Pods (blue icon)
MyProject (blue icon)
  Restkit.xcodeproj (blue icon)
  ... all my files

問題は、Restkit が「AFHTTPClient.h」と他のすべての AF コードを参照していることですが、CocoaPods を介して含めました。RestKit ライブラリから AFNetworking フォルダを削除しようとしましたが、どうやら Restkit ライブラリは AFNetworking の Pods バージョンを見つけられませんか?

RestKit に Pods バージョンを使用させる方法はありますか? そうでない場合、プロジェクトから Pod を削除するにはどうすればよいですか?

4

7 に答える 7

2

私も同じエラーを思いついた。通常、この種のエラーは、プロジェクトフォルダ内のクラスとxibsが重複しているために発生します。たとえば、私のプロジェクトでは、これらのクラスを2回実行しServiceRequest.h/.mました。重複するものを取り除き、あなたは行ってもいいです。

于 2013-02-15T19:55:48.917 に答える
2

アーキテクチャの重複シンボル」の問題は、次の 2 つの状況で発生します。

  1. プロジェクトに .m ファイルを 2 回追加しました

  2. プロジェクトに含めるいくつかのクラスが既に含まれている静的ライブラリ (.a ファイル) を使用しています。

これらのケースを修正するには、リンカー エラーを確認し、重複している .o ファイルを探します (サンプル: Reachability.o)。

次に、ビルド段階に移動します -> ソースをコンパイルし、指定されたファイルを検索します。いずれかが 2 回表示される場合は、そのうちの 1 つを削除します。1 回しか表示されない場合は、ファイルがプロジェクトに追加された静的ライブラリの 1 つにも含まれていることを意味します。コンパイルするソースのリストから削除して、再試行してください。

于 2013-10-23T08:37:29.063 に答える
2

だから私はそれを修正しました。ベンダー フォルダーから AFNetworking の RestKit バージョンを削除した後、Xcode にドラッグして追加し直しました。使用/コピーするプロジェクトを尋ねられ、今回はRestKitTest(またはRestKitTestingの名前)を選択しました。それは今動作します。もしかしたら、以前に RestKit と RestKitTest の両方を選択したのですが、どちらが間違っていたのでしょうか?

于 2012-12-05T15:58:10.950 に答える
0
  • このエラーが表示されたのは、ひょうたんフレームワークを xcode にドラッグ アンド ドロップし、表示されたウィンドウで [ターゲットに追加] オプションを選択したときです。基本的に、追加されたファイルへの 2 つの参照がありました。ひょうたんフレームワークを手動で削除する必要がありました。

  • 正しいやり方

    ひょうたんフレームワークをプロジェクト ディレクトリにコピーし、xcode プロジェクトに移動します。ターゲットを選択 -> ビルド フェーズ -> バイナリをライブラリにリンクし、+ ボタンを使用してフレームワークを追加します。

于 2013-05-24T13:50:22.360 に答える
0

cocoaPods もインストールした後、Google アナリティクスでシンボルの重複が発生することに気付きました。アーカイブの 1 つを削除すると、libGoogleAnalytics_debug.a または libGoogleAnalytics.a の重複がなくなりました。しかし、明らかに、デバッグ 1 を削除すると、OS シミュレーターを実行できなくなり、その逆も同様です。私はそれが解決策ではないことを知っていますが、少なくとも解決策となるアイデアを与えることができます. この場合、両方のファイルを持つ方法を見つけたら、このスレッドに戻ってきます。

編集: G アナリティクス バージョン 2 から 3 にアップグレードすることで問題を解決できました。ライブラリ ファイルは 1 つしかないため、シンボルが重複しなくなったのはこのためだと思います。それが理にかなっていることを願っています。

于 2013-10-18T23:49:22.710 に答える