すべてのRESTKITプロジェクトは、アーカイブ時に構築できません
質問
この質問は、RestKit 0.9.xを指します。
あなたがrestkitを使用するのが初めてであれば、新しいものを使用することを検討してください 0.10.x ブランチ。
私は最近、使用するプロジェクトを継承しました RESTKIT (RESTKIT.org)。私はブランチを使い始めました(402-New-Build-Process)それはより互換性があります xcode4.2.
私のプロジェクトは、すべての例プロジェクトをビルドと実行しますが、アプリのアーカイブに関してはビルドが失敗します。
/Users/AUser/Documents/SubFolder/stable-branches/project-iOS-client/RestKit/Examples/RKTwitterCoreData/Classes/RKTwitterAppDelegate.m:9:9: fatal error: 'RestKit/RestKit.h' file not found [2]
#import <RestKit/RestKit.h>
^
1 error generated.
私は従いました インストールトラブルシューティングガイド プロジェクトWikiでは、これはうまくいきませんでした。
に従って ブレイクの答え 私は派生ディレクトリに構築しています:
さらに、これらにヘッダー検索を設定してみました(多くの組み合わせ[推測]で):
「$(build_dir)/restkit/build」
「$(source_root)/restkit/build」
「$(source_root)/../../ build」
"$(build_dir)/../../ build"
解決
!!!ブランチの最新バージョンに更新!!!
Xcode 4.2のアーカイブとしてrkcatalogとrktwittercoredataを問題なく作成しました。コード署名の問題により失敗しています。 deriveddataディレクトリを使用して構築していることを確認しましたか。
RestKitは、DerivedDataディレクトリに最新のXcodeプロジェクトビルを使用していると想定しています。 「ファイル」メニュー>「プロジェクト設定...」を使用して設定を確認します。開いたシート内の[ビルド]タブで、[Advanced ...]ボタンをクリックして、「ビルドの場所」が「派生データの場所」であることを確認します。
ヘッダーを既知の場所にrsyncする変更をプッシュすることはできますが、derivedDataの標準化がプロセスを簡素化することを望んでいました。
他のヒント
これらの修正はすべて暗闇の中で刺されたか、少なくとも私にとってはそのように感じられたと思います。私は、若い処女から髪を手に入れて、Macの上でそれを燃やすことについて読むことを半分期待していました。
それがあなたのために開発者のためにコンパイルされているが、その縛られたものが単純なものになるためではない場合。または、少なくともそれは私のためでした。
私のソースファイルは適切な場所にありませんでした:
検索ヘッダーは「$(source_root)/restkit/build」に設定されていました
しかし、私は単にXcodeにダウンロードした場所からprojファイルをドラッグしました。これは、デバッグなどをコンパイルするときに問題になることはありませんでした。アーカイブするときには、しばらく発見しませんでした。
そのパスがrestkit/buildにあるものが実際のファイルがある場所であることを確認してください。
私が読んだすべての十字架の修正とは異なり、私のためにそれを修正しました。ヘッダーをグループなどに移動するように...それはなんとゴミでした。
幸運、これが役立つことを願っています。 RestKitチームのおかげで、これは本当に素晴らしいフレームワークです。
ジェイミー
私は反対しています 発達 ブランチと統合 サブモジュールとしてのRESTKIT 私のルートgitフォルダー
+ root project folder
|--+ RestKit
|--+ <Projectname>
|--+ <Projectname>.xcodeproj
したがって、次の検索パスを使用します
"$(BUILT_PRODUCTS_DIR)/../../Headers"
"$(SOURCE_ROOT)/../RestKit/Build"
Jamie Reynoldsの回答を繰り返して、あなたのほとんど(すべてではないにしても)あなたのヘッダー検索パスを「$(source_root)/Restkit/build」に設定しましたが、もちろんあなたのRESTKITフレームワークがない限り、デバッグ中は問題ありません。実際にはこのディレクトリにあります。
そこにいるあなたの大部分と同様に、あなたはおそらくデフォルトのダウンロードディレクトリのフレームワークにリンクしているだけです。その場合、Finderに移動して、restkit->を開きます> cmd+iをビルドして情報を表示し、ディレクトリパスを選択し、コピーして置き換えます「$(source_root)/restkit/build」、ブラケットを忘れないでください。
鉱山は「/users/edwin-b/downloads/restkit-restkit-8d0d9fc/build」
私はいくつかのSOの回答で概説された手順に従いましたが、問題はヘッダー検索パスの問題になりました。 Xcode 4.2にRESTKITを追加してから、Xcode 4.3.1(プロジェクトの開始からビルドの提供の間に2回更新した)でアーカイブを試みるまでの間に、Xcodeが解析できなくなったヘッダー検索パスリストにコンマが注入されていました。その結果、RestKitのヘッダーの場所のエントリは次のとおりです。
"$(SOURCE_ROOT)/RestKit/Build",
それがちょうどあるべきだったとき:
"$(SOURCE_ROOT)/RestKit/Build"
これはデバイスやSIMへの構築の問題を作成しませんでしたが、アーカイブを試みた後、OPによって報告されたエラーが発生しました。
「$(source_root)/restkit/build」を追加するだけです 目標 「ヘッダー検索パス」、これのおかげです 答え.
これらのいくつかは冗長だと確信していますが、私はこのことをデバッグするのに3時間以上費やして、その過程で私のプロジェクトをほとんど台無しにしました。だから...ここにあなたはそれを持っています。
正気のために、RestKitプロジェクトパスをいじり、すべてのファイル(特にプロジェクト)を供給制御し、指を交差させ、処女の髪をMACの上に燃やして進みます。
それらを1つずつ排除した後、私はそれをこのラインまで絞り込み、アーカイブを可能にしました。 "$(source_root)/../ restkit/build" restkitは、メインプロジェクトフォルダーと同じレベルのフォルダーです
この答えを追加して、後で見つけることができます - 上記のいくつかの回答と一致します。ターゲット「ヘッダー検索パス」を調べます - そして、プロジェクトのRESTKITディレクトリがどこにあるかに応じて、Alex Stonesの回答で上記の行の1つを追加します。私の場合、それは「$(source_root)/../ restkit/build」でした