Xcode复制包资源无法find文件

Xcode找不到我的故事板和我的Info.plist在我的复制包资源 ,所以我的应用程序不运行。 我试图再次添加现有的文件,但他们总是显示为红色。 我敢肯定,它必须是一个本地的问题,因为当我从我的其他Mac上的存储库克隆最新的更新其运行没有任何问题。 我已经尝试重新安装Xcode,从Xcode / DerivedData删除文件,我也删除了com.apple.Xcode.plist 。 任何任何想法?

尝试重置您的模拟器,然后清理您的应用程序生成文件夹

我的经验是,提出的解决scheme是有效的,但是当资源发生变化时清理和重新编译整个应用程序是非常繁琐的,特别是对于大型项目。

因此,我想出了这个解决scheme,在每个目录的基础上强制应用程序中的新鲜资源,而不必清理或重新编译:

  1. 添加“运行脚本构build阶段”(编辑器>添加构build阶段>添加运行脚本构build阶段)
    1. 将以下脚本复制/粘贴到构build阶段(不要忘记在第1行上设置实际path):

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上的path是相对于项目目录(.xcodeproj文件所在的位置)

  • 如果需要,可以添加更多(或更less)path到数组dirsToCopy

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

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