Xcode が Storyboards と Info.plist をCopy Bundle Resourcesで見つけられないため、アプリが実行されません。既存のファイルを再度追加しようとしましたが、常に赤く強調表示されます。他のMacのリポジトリから最新のアップデートをクローンすると、問題なく実行されるため、ローカルの問題に違いないと確信しています。Xcodeを再インストールし、Xcode/DerivedDataからファイルを削除しようとしましたが、 com.apple.Xcode.plistも削除しました。誰でもアイデアはありますか?
6525 次
2 に答える
4
シミュレーターをリセットしてから、App Build フォルダーをクリーンアップしてみてください
于 2013-04-15T08:23:44.310 に答える
0
私の経験では、提案されたソリューションは機能しますが、特に大規模なプロジェクトでは、リソースが変更されるたびにアプリ全体をクリーンアップして再コンパイルするのは非常に面倒です。
したがって、クリーンアップや再コンパイルを行わずに、アプリ内の新しいリソースをディレクトリごとに強制するこのソリューションを思いつきました。
- 「Run Script Build Phase」を追加します (Editor > Add Build Phase > Add Run Script Build Phase)。
- 次のスクリプトをコピーしてビルド フェーズに貼り付けます (1 行目に実際のパスを設定することを忘れないでください)。
dirsToCopy=("path1/directory1","path2/directory2")
for INPATTERN in "${dirsToCopy[@]}"; do
INDIR=$PROJECT_DIR/$INPATTERN/*
OUTDIR=$TARGET_BUILD_DIR/$CONTENTS_FOLDER_PATH/$INPATTERN
cp -R $INDIR $OUTDIR
done
シェル スクリプトの操作に慣れていない場合:
スクリプトの 1 行目のパスは、プロジェクト ディレクトリ (.xcodeproj ファイルが存在する場所) からの相対パスです。
必要に応じて、より多くの (またはより少ない) パスを配列に追加でき
dirsToCopy
ますINDIR
変数が定義されている場所にコピーするファイルのパターンを変更できますfor ブロック内のスクリプトの最後の行で
-R
フラグを に変更することで、コピーの実行方法を変更できます (現在、 により再帰的)。cp
于 2013-09-16T13:54:19.913 に答える