Interface Builder无法打开文档“.storyboard”,因为它不存在

时间:2013-09-17 21:52:12

标签: ios objective-c interface-builder

这个问题让我真的很疯狂。 Xcode正在我项目的不同位置寻找故事板。我尝试删除文件,再次添加,清理项目等,但没有运气。

这是错误。

cd /Users/fmartin91/Projects/loovin/loovin-ios
setenv IBSC_MINIMUM_COMPATIBILITY_VERSION 7.0
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
setenv XCODE_DEVELOPER_USR_PATH /Applications/Xcode.app/Contents/Developer/usr/bin/.. 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool --errors --warnings --notices --minimum-deployment-target 7.0 --output-format human-readable-text --compile /Users/fmartin91/Projects/loovin/loovin-ios/Build/Products/Debug-iphonesimulator/loovin.app/Base.lproj/LOOVProductIndex.storyboardc /Users/fmartin91/Projects/Base.lproj/LOOVProductIndex.storyboard


/* com.apple.ibtool.errors */
/Users/fmartin91/Projects/Base.lproj/LOOVProductIndex.storyboard:
error: Interface Builder could not open the document
"LOOVProductIndex.storyboard" because it does not exist.

17 个答案:

答案 0 :(得分:19)

我可以通过杀死ibtoold

来修复此错误
$ sudo killall -9 ibtoold

为什么ibtool还需要守护进程?

答案 1 :(得分:13)

您的故事板不在NSBundle mainbundle中。 这个问题可能是由于“构建阶段”问题中的“复制捆绑资源”。

要更正,请验证您的故事板文件是否在所有目标的“复制包资源”中。在项目导航器上,选择项目文件,选择Build phases选项卡,然后选中它。

答案 2 :(得分:4)

我有一个非常类似的问题,需要几个小时才能解决。很明显,xcode将自己锁定在一个奇怪的状态,项目资源管理器可以看到xib文件而编译不能。最后,当我将文件检查器中的位置从相对组更改为相对于项目时,这已得到解决。我通过比较常规文本编辑器中的project.pbxproj文件来搜索任何线索。

答案 3 :(得分:3)

我遇到了同样的问题,这就是我如何解决它的问题:

  1. 在项目之外保存受影响文件的副本
  2. 从项目中删除文件,选择移至废纸篓以完全删除项目中的文件和参考
  3. 修改 ProjectName.xcodeproj / project.pbxproj 以删除所有引用受影响文件的行
  4. 重新添加文件,确保选中将项目复制到目标组的文件夹(如果需要)
  5. 清理并构建

答案 4 :(得分:3)

git合并后发生了这件事。我将一些故事板本地化文件从一个项目更改为另一个项目,Xcode似乎继续在旧项目中搜索该文件。

我的解决方案是:

  1. 编辑 ProjectName.xcodeproj / project.pbxproj
  2. 搜索故事板名称
  3. 删除对出现的故事板名称的引用,然后删除本地化内容(例如“Base.lproj”,“es.lproj”等)
  4. 还删除以下本地化条目(因为它们引用了Storyboard文件)
  5. 清理并构建
  6. 重复,如果其他文件不断抛出编译错误

答案 5 :(得分:2)

对我来说,我使用xcode 10, 单击您的项目名称(左侧的蓝色图标)>构建阶段>在“副本捆绑资源”下

找到文件,如果文件存在,请删除重复的文件。清理项目并再次运行

答案 6 :(得分:2)

我刚遇到运行Xcode 9.2的问题。我将我的文件从学校计算机复制到谷歌驱动器上,然后在家里下载。

当我在家打开文件时,它一直告诉我main.storyboard并且启动故事板不存在。两个故事板文件将显示为xml,因此它们显然存在,但即使右键单击也可以打开"打开为"什么都没产生经过多次故障排除后,我找到了一个适用于我的修复程序。

解决方案:

打开项目文件夹,然后打开与项目名称相同的下一个文件夹。打开Base.lproj,您将看到xml格式的两个故事板。复制这两个文件,将它们粘贴到同一文件夹中,删除.xml并确认更改为.storyboard。为这两个文件执行此操作并重新设置!

答案 7 :(得分:1)

在我的情况下,我发现故事板被放置在一个组中,该组引用了"身份和类型"中不存在的文件夹。面板。

删除该组和故事板,并将其添加回引用现有文件夹,为我解决了这个问题。

答案 8 :(得分:1)

我重置Main.storyboard文件的容器文件夹

enter image description here

答案 9 :(得分:1)

当您将文件上传到不带zip的Google驱动器时,它会自动将.storyboard的扩展名附加到.xml,因此,当您下载文件时,该文件显然将不存在。

要解决此问题,请转到:

  

[项目文件夹]> [项目文件夹]> [Base.lproj]

会有一个.storyboard.xml扩展名类型的文件,您必须将其重命名为.storyboard扩展名。这样您的工作就完成了。

故事板错误解决视觉指南:

Story board error solving visual guide.

答案 10 :(得分:1)

将项目移动到另一台计算机时遇到同样的问题。我按照以下步骤解决了这个问题:

  • 将以前的Main.storyboard文件打开为源代码,全部复制
  • 创建一个新的Main.storyboard文件,打开为源代码,粘贴
  • 删除以前的Main.storyboard
  • 清理并构建项目。

答案 11 :(得分:0)

就我而言,项目导航器和查找器中的文件夹并不完全相同。 Main.storyboard位于项目导航器的\ Views文件夹中,而不位于finder中。 Xcode不允许我退出该应用程序,因为无法保存Main.storyboard。 这就是我所做的,解决了这个问题:

  1. 同时确定项目导航器和查找器中缺少或未对齐的文件。
  2. 将Main.storyboard和其他不在正确位置的文件复制到安全位置。
  3. 从活动监视器强制退出Xcode。重新打开Xcode。
  4. 将先前复制的文件粘贴到finder中。确保文件夹顺序与Xcode项目导航器相同。
  5. 在Xcode中,从项目导航器中右键单击需要添加文件的位置,然后单击“添加新文件”。
  6. 从查找程序添加文件。
  7. 清理并构建。

答案 12 :(得分:0)

我通过以下操作解决了此问题:

  1. 在finder中打开您的Xcode项目文件夹,然后找到无法打开的文件。

  2. 以这种方式将该文件拖到Xcode Project(Inside Xcode App)中的文件路径中。enter image description here

  3. 选中“如果需要,复制项目”,然后选择“创建文件夹引用”,然后单击“完成”。 enter image description here

  4. 重新启动Xcode

答案 13 :(得分:0)

转到构建阶段>复制捆绑资源>检查您收到错误的故事板>它应该显示为模糊>如果是,则删除其引用并再次添加>再次编译。

答案 14 :(得分:0)

我在Xcode 7 beta 5中遇到了同样的情况。重新启动我的Mac就可以了。

答案 15 :(得分:0)

我刚刚经历过这个,并通过重新启动计算机来修复它。不过,我发现了更多关于它的信息。在我的情况下,我的ibtool脚本无法正常工作,给出与您无关的文件错误。但是,当我将它们作为sudo运行时,我发现行为发生了变化:

  

2013-09-20 20:49:40.339 Interface Builder Cocoa Touch Tool [58454:303]   CFPreferences:用户主目录位于   文件:///无功/根/库/ Application%20Support / iPhone%20Simulator /用户/   不可用。用户域将是不稳定的。

后续命令将失败或返回而不执行任何操作。所以! ibtool / Interface Builder /无论如何使用其他一些启动服务来运行自己,以及其他一些用户名或权限。

是不是我为Xcode 5.0安装了一些工具更新,它搞砸了正在运行的服务进程?是的,它可以:)

答案 16 :(得分:0)

我可以解决我的问题,我真的不知道我是怎么做的,但我尝试过的事情是清理和建设项目十亿次,我希望这对任何人都有帮助。