Xcode
でアプリをビルドしようとすると、次のエラーメッセージが表示されます。
コンパイラ((clang-425.0.27))とは異なるブランチ((clang-425.0.24))からビルドされたPCHファイル
以前は発生しませんでしたが、これはXcodeを更新した後の最初のビルドでした。
他のアプリは動作しますが、この特定のアプリは動作しません。
"Precompile Prefix Header"
設定をオフにすると、機能します。
このエラーを修正し、その設定を維持するにはどうすればよいですか?
多くの場合、これはキャッシュの問題です。通常、Optionキーを押しながらProduct> Clean Build Folder ...を選択することで解決できます
[製品]> [ビルドフォルダーのクリーン...](Optionキーを押した状態)は、ほとんどの人で機能するようです。 @gaigeが選択した回答をご覧ください。
あなたがほとんどの人とは違って(私自身も含めて)、それでもXCodeがあなたの共有プリコンパイル済みヘッダーを他の場所に残してしまう可能性があるという問題を引き起こしている場合。私にとっては、これらは次のようなフォルダーにありました。
/var/folders/<some random two characters>/<some random string>/C/com.Apple.Xcode.502/SharedPrecompiledHeaders
SharedPrecompiledHeadersフォルダー全体を削除したところ、問題が解決しました。私はここで他にあまり触れませんが...
プロジェクトのDerivedData
フォルダーを削除します。 Xcodeの設定->場所を見て、保存先を確認してください。
Finderのプロジェクトの場所からBuild
フォルダーとDerivedData
フォルダーを削除するとうまくいきました。
私のために他のオプションはどれもうまくいきませんでした、ここにそれを修正したものがあります:
/Users/(Yourname)/Library/Developer/Xcode/DerivedData/ModuleCache/
でキャッシュフォルダーを削除しました(名前を変更しても機能します)。
エラーが次のような場合は、エラーに記載されているフォルダーを削除してみてください。
PCH was compiled with module cache path '/Users/User/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8', but the path is currently '/Users/Stan/Library/Developer/Xcode/DerivedData/ModuleCache/75YIWZVTEAO8
Iosプロジェクトディレクトリで、buildに移動し、ModuleCacheフォルダーを削除します。 react-native run-ios
を再度実行すると、期待どおりに動作するはずです。要約-rm -rf ios/build/ModuleCache
Xcodeをアップグレードした後、複数のプロジェクトでこれを取得しました。 Clean Build FolderとCleanは効果がありませんでした。@ sedesが応答し、@ josema.vitaminewのコメントがそれを行いました。しかし、少しずるい方法を使わない限り、注意が必要な場合があります。ステップバイステップのショートカットを次に示します。
...そして、すべてのプロジェクトは「修正」されますが、ゼロキャッシュで最初に再構築する必要があります(そのため、NEXTビルドのみが通常より遅くなります)。
私の場合、この方法でSharedPrecompiledHeadersの下にあるすべてのファイルを取り除き、すべてが正常に動作し始めました:
Sudo find /var/folders/ -type d -name "SharedPrecompiledHeaders" | xargs -n 1 -I dir Sudo find dir -name \* -type f -delete
特に、コマンドラインからビルドする場合、またはビルドスクリプトがある場合は、xcodeターゲットをクリーニングするだけでは不十分です。このフォルダーを削除しました。
プリコンパイルされたヘッダーの場所は、
Target -> build settings => "Build locations" -> Precompiled headers cached path
このフォルダを削除するには、
#rm -fr SharedPrecompiledHeaders
掃除しても解決しない場合。これはビルドキャッシュの問題です。Optionキーを押しながら、[製品]> [ビルドフォルダーのクリーンアップ]に移動します。これで問題が解決しました。
Swift Package Managerを使用してプロジェクトをビルドしようとすると、このエラーが発生しました。
解決策は、.build
ディレクトリを削除するだけです。
xcodebuild
を介してコマンドラインビルドを実行している場合は、-derivedDataPath BUILD_DIR
オプションが使用されているかどうかを確認してください。その場合、ModuleCache.noindexディレクトリは通常のXcodeの場所ではなくBUILD_DIRにあります。 ModuleCache.noindexディレクトリを削除すると、すべての設定が完了します。
Reactネイティブアプリを構築しているため、この状況に遭遇しました。通常、iOSクライアントはReactネイティブツールセットを介してコマンドラインから構築されます。
「shift + command + C」を押し続けると、ビルドが成功します
クリーンビルドを実行してもうまくいかない場合は、/var/folders/../SharedPrecompiledHeaders
でPCHファイルを探し、PCHファイルを削除してください。
派生データのクリーニングや削除がうまくいかなかった。動作したのは、.pchファイルをタッチ/保存して(文字を追加してから削除する)、強制的に再構築することです。これでうまくいきました。
製品またはビルドフォルダーのクリーニングを試すことができます。
SHIFT + COMMAND + K
OPTION + SHIFT + COMMAND + K
更新済み
これは私にとって完璧に働いた:
xCode 7.3.1
reference here
私はプロジェクトをきれいにし、ビルドフォルダをきれいにしてみましたが、どちらも機能しませんでした。
その後、xCodeを完全に終了し、標準の場所である派生データフォルダーを削除しました:〜/ Library/Developer/Xcode/DerivedData、xCodeを再起動してプロジェクトをビルドしました。
これで問題は解決したようです。
私にとって、これはプロジェクトを別の場所にコピーするときに常に発生します。リポジトリまたは何かにプッシュするためにこれを行います。
古い場所と新しい場所にあるBuildフォルダー(rm -rf Build /)を削除して、機能させる必要があります。 Buildフォルダーには、新しい場所とは関係のないデータがあるため、これは理にかなっています。
この場合、派生データのクリーニングまたはsharedPrecompiledHeadersフォルダーの削除は実際には行いませんでした。
DerivedData
を削除して、私のために働きました。