Xcode Copy Bundle Resources无法找到文件

时间:2013-04-15 08:09:28

标签: iphone ios xcode storyboard resourcebundle

Xcode无法在我的复制捆绑资源中找到我的Storyboards和我的Info.plist,因此我的应用程序无法运行。我尝试再次添加现有文件,但它们总是突出显示为红色。我很确定它一定是本地问题,因为当我在我的其他mac上从我的存储库克隆最新更新时它的运行没有任何问题。我已经尝试重新安装Xcode,从 Xcode / DerivedData 删除文件,我还删除了 com.apple.Xcode.plist 。 任何想法?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

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

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

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

  2. 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引起的递归)。