3

Xcode が Storyboards と Info.plist をCopy Bundle Resourcesで見つけられないため、アプリが実行されません。既存のファイルを再度追加しようとしましたが、常に赤く強調表示されます。他のMacのリポジトリから最新のアップデートをクローンすると、問題なく実行されるため、ローカルの問題に違いないと確信しています。Xcodeを再インストールし、Xcode/DerivedDataからファイルを削除しようとしましたが、 com.apple.Xcode.plistも削除しました。誰でもアイデアはありますか?

4

2 に答える 2

4

シミュレーターをリセットしてから、App Build フォルダーをクリーンアップしてみてください

于 2013-04-15T08:23:44.310 に答える
0

私の経験では、提案されたソリューションは機能しますが、特に大規模なプロジェクトでは、リソースが変更されるたびにアプリ全体をクリーンアップして再コンパイルするのは非常に面倒です。

したがって、クリーンアップや再コンパイルを行わずに、アプリ内の新しいリソースをディレクトリごとに強制するこのソリューションを思いつきました。

  1. 「Run Script Build Phase」を追加します (Editor > Add Build Phase > Add Run Script Build Phase)。
    1. 次のスクリプトをコピーしてビルド フェーズに貼り付けます (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 に答える