Xcode复制捆绑资源无法找到文件。

3
Xcode无法在我的“复制捆绑资源”中找到我的故事板和Info.plist文件,因此我的应用程序无法运行。我尝试再次添加现有文件,但它们总是以红色高亮显示。我相当确定这必须是一个本地问题,因为当我从其他Mac上的存储库克隆最新更新时,它可以正常运行。我已经尝试重新安装Xcode,从Xcode/DerivedData删除文件,还删除了com.apple.Xcode.plist。有人有什么想法吗?

检查您的项目中是否有 info.plist 文件,如果没有,请添加。同时,请检查您和另一位开发者的 Mac 系统上安装的 Xcode 版本。 - viswateja
2个回答

4

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


那真的起作用了...我之前试过好几次,但现在不知怎么就起作用了 -,- - d3p0nit

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脚本的人:

  • 脚本第一行中的路径是相对于项目目录(即.xcodeproj文件所在的目录)的

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

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接