3

Xcode 在我的Copy Bundle Resources中找不到我的 Storyboard 和我的 Info.plist ,所以我的应用程序无法运行。我尝试再次添加现有文件,但它们总是以红色突出显示。我很确定这一定是本地问题,因为当我从我的另一个 Mac 上的存储库中克隆最新更新时,它的运行没有任何问题。我已经尝试重新安装 Xcode,从Xcode/DerivedData中删除文件,并且我还删除了com.apple.Xcode.plist。有人有什么想法吗?

4

2 回答 2

4

尝试重置您的模拟器,然后清理您的 App Build 文件夹

于 2013-04-15T08:23:44.310 回答
0

我的经验是建议的解决方案有效,但是每当资源发生变化时清理和重新编译整个应用程序是非常乏味的,尤其是对于大型项目。

因此,我想出了这个解决方案,它可以在每个目录的基础上强制应用程序中的新资源,而无需清理或重新编译:

  1. 添加“运行脚本构建阶段”(编辑器 > 添加构建阶段 > 添加运行脚本构建阶段)
    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

对于那些不习惯使用 shell 脚本的人:

  • 脚本第 1 行的路径相对于项目目录(.xcodeproj 文件所在的位置)

  • dirsToCopy如果需要,您可以向数组添加更多(或更少)路径

  • 您可以更改文件的模式以复制INDIR定义变量的位置

  • 您可以通过将标志更改为 for 块内脚本的最后一行中-R的标志来更改复制的完成方式(当前,由于 递归) 。cp

于 2013-09-16T13:54:19.913 回答