web-dev-qa-db-ja.com

xcode / iPhoneのビルドルール

Facebook SDKをアップデートに組み込んでいると、4つのファイルに対してコンパイラの警告が表示されます。ターゲットの1つでは、各ファイルにこのような2つの警告が表示されます。

[警告]警告:アーキテクチャarmv7のタイプsourcecode.c.hのファイル '$(PROJECT_DIR)/ APP_NAME /Facebook.h'を処理するルールがありません

[警告]警告:アーキテクチャarmv6のタイプsourcecode.c.hのファイル '$(PROJECT_DIR)/ APP_NAME /Facebook.h'を処理するルールがありません

他のターゲットでは、各ファイルは1つの警告のみを生成します。

[警告]警告:アーキテクチャi386のタイプsourcecode.c.hのファイル '$(PROJECT_DIR)/ APP_NAME /FBConnect.h'を処理するルールがありません

facebook SDKのドキュメントでは、ビルド設定の有効なアーキテクチャにi386を追加するように指示されていますが、「ビルドルール」については何も言われていません。奇妙なことに、同じfacebookSDKを別のアプリに組み込んでいます。単一の問題。私が見ることができる唯一の違いは、このプロジェクトにはすでに2つのターゲットがあり、(それぞれの)これらの警告はそのうちの1つからのみ発生していることです。これらの4つのファイルのビルドルールを作成する方法の手がかりを誰かに教えてもらえますか? armv6とarmv7およびi386のビルドルールが必要ですか?

ビルド設定は、それぞれ異なる-info.plistファイルと異なる.pchファイルを除いて、まったく同じです。 Facebookの機能はシミュレーターでは正常に機能していますが、いずれかのビルドターゲットを使用するテストデバイスでは機能していないことを追加する必要があります。

本当にありがとう。

30
Jef

Xcode 4を使用しているとすると、コンパイルするCファイルのリストに.hファイルがあるため、依存関係チェッカーが混乱する可能性があります。

つまり....ターゲットの[ビルドフェーズ]タブに移動します。 (プロジェクトをクリックしてから、ターゲットの名前をクリックしてから、[ビルドフェーズ]タブをクリックします。)

.hファイルを「ソースのコンパイル」セクションにドラッグしていないことを確認してください。

コードをインポートするとき、.hファイルが技術的にコンパイルされていないことに気付かずに、ロット全体をそのセクションにドラッグするのが一般的です。依存関係チェッカーは、より役立つエラーメッセージを吐き出すほど賢くありません。

115
Jim Hayes

http://dhilipsiva.blogspot.in/2012/10/xcode-warning-no-rule-to-process-file.html

リストには.mファイルのみを含める必要があります。 .cファイルを入れることができるかどうかはわかりませんが、他のファイルタイプはないはずです。一部の開発者は、Javascriptファイルをコンパイルされたソースにドラッグすることさえ好きです。同じ問題に直面している場合は、おそらくremove any non '.m'コンパイルされたソースのリストからのファイル。 Xcode4で実行していると仮定して、これを行う方法は次のとおりです。

プロジェクトターゲットの[ビルドフェーズ]タブを開きます。 (プロジェクトをクリックし、次にターゲットの名前をクリックしてから、[ビルドフェーズ]タブをクリックします)。コンパイルされたソースのセクションで、.mファイル以外のファイルがないことを確認してください。

ハッピーハッキング。

8
dhilipsiva