Iphone Xcode复制捆绑资源可以';找不到文件

Iphone Xcode复制捆绑资源可以';找不到文件,iphone,ios,xcode,storyboard,resourcebundle,Iphone,Ios,Xcode,Storyboard,Resourcebundle,Xcode在我的复制捆绑资源中找不到我的故事板和我的Info.plist,因此我的应用程序无法运行。我试图再次添加现有文件,但它们总是以红色突出显示。我很确定这一定是本地的问题,因为当我在另一台mac上从我的存储库克隆最新更新时,它的运行没有任何问题。我已经尝试重新安装Xcode,从Xcode/DerivedData中删除文件,还删除了com.apple.Xcode.plist。 有人有什么想法吗?尝试重置你的模拟器,然后清理你的应用程序构建文件夹我的经验是,建议的解决方案是可行的,但每当资源发

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

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

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

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

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


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

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

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

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

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


    这确实有效……我以前试过好几次,但现在不知怎么的成功了-,-检查info.plist是否适用于您的项目,如果不适用,请添加它,检查两个mac系统的Xcode版本
    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