1

問題

iOS で Restkit のインストール手順を実行した後、Apple Mach-o リンカー エラーが表示されます。

ここに画像の説明を入力

私のプロセス

ここにあるRestkitのインストール手順に従おうとしました: https://github.com/RestKit/RestKit/wiki/Installing-RestKit-in-Xcode-4.x

最初に Git を介して Restkit をサブモジュールとして追加しました。

プロジェクトに Restkit を追加し、必要な構成をプロジェクトのターゲット ビルド設定に追加しました。 ここに画像の説明を入力 ここに画像の説明を入力

次に、対象の依存関係として Restkit を追加しました

ここに画像の説明を入力

解決の手がかり

何らかの理由で、Restkit のいくつかのファイルが赤く表示されています。

ここに画像の説明を入力

これにより、Restkit フレームワークをリンクするときに同様の動作が発生します。

ここに画像の説明を入力

私が試したこと

  1. Restkit を削除して再読み込みしようとしましたが、役に立ちませんでした。
  2. Xcodeプロジェクト内で移動しようとしましたが、これは問題をさらに奇妙にするだけでした(ターゲットはRestkitへの依存を認識しなくなりました)。
  3. ビルド設定に入力した内容が正しいことを確認しました。
  4. SO で解決策を確認し、リンカ エラーへの一般的な解決策も確認しました。 デバイス用にコンパイルするときの Apple Mach-O リンカ エラー明らかな解決策はありませんでした (間違っている可能性があります)。

それでおしまい。これで問題が解決することを願っています。

編集:ヘッダー検索パスを確認する追加の画像:

ここに画像の説明を入力

4

4 に答える 4

1

まあ、解決策はばかげていますが、Restkit を iOS 上に構築するために Restkit.framework を実際に必要としないことに気付きました。代わりに、libRestkit.a ファイルを「ライブラリとバイナリをリンク」セクションに追加する必要があります。

<Restkit/Restkit.h>これにより、コンパイル エラーや警告なしでコードに追加できます。

于 2012-09-03T23:50:57.177 に答える
0

It was all working for me on the computer where I created the project but when i copied project to a new computer i was getting this same error.

I figured that the reason was that xcode was not able to find the binaries created by cocoa pods. Its visible when you go to your targets project settings. So just drag the libPods.a from the Project navigator to the linked binaries and frameworks section of project settings. Take a look at the screen capture you can see both old and new one, its simple one step.enter image description here

Basically what this does is simply add the library search path

      LIBRARY_SEARCH_PATHS = (
                                   "$(inherited)",
                                   "$(PROJECT_DIR)/Pods/build/Debug-iphoneos",
                           );

:

于 2014-12-21T02:31:48.713 に答える
0

ヘッダー ファイルをビルド ディレクトリにコピーするには、RestKit ターゲットを手動でビルドする必要があります。どうやらマスター プロジェクトのビルドは、サブプロジェクトのビルドを確実に実行しませんか?

したがって、この問題を修正するための私の手順:

Select the RestKit run target
Build
Make sure the header search path was set on all target (apparently on project itself is not enough)
Build main project

詳細な手順については、このチュートリアルを参照してください。ここからソースコード コードをダウンロードします。

于 2012-08-24T20:22:17.993 に答える