故事板错误取消归档文档对象 - *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil
Posted
技术标签:
【中文标题】故事板错误取消归档文档对象 - *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil【英文标题】:Storyboard error unarchiving document objects - *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil 【发布时间】:2013-07-16 11:16:28 【问题描述】:我的团队有一个项目,我们正在通过在 bitbucket.org 上推/拉来更新我们的代码。我们最近遇到一个问题,我们无法打开拉取的更新项目代码的情节提要。 这就是错误所说的:
The document "MainStoryboard.storyboard" could not be opened. The operation couldn’t be completed. (com.apple.InterfaceBuilder error -1.)
这是屏幕截图
你知道为什么会这样吗?我们做了什么可能的错误举动?你知道如何解决它..吗?
编辑
我已经升级到 Xcode 4.6.3 但我仍然收到此错误。
【问题讨论】:
如果有人在 Xcode5 中打开故事板并将其“升级”为 Xcode5 格式,它可能在 Xcode4 中变得不可编辑。 我们都在使用Xcode 4.6.1,你认为这有关系吗,因为在他的操作系统是Mac OS X 10.7时,故事板没有打开的所说笔记本电脑也使用Xcode 4.6.1,不要你认为我需要安装更兼容的版本,比如 Xcode 4.6.3? Xcode 的内部版本号之间应该没有不兼容的问题。所以我真的不能告诉你出了什么问题。重新安装 Xcode 可能会有所帮助。 @Eimantas,我试过但没有帮助.. com.apple.InterfaceBuilder error -1. Storyboard Can Not Be Opened 的可能重复项 【参考方案1】:我最近找到了答案,我们所做的是
-
我们打开控制台日志。
当控制台日志打开时,我们尝试打开损坏的情节提要。
我们在控制台日志中发现了错误,在这种情况下我们发现了:
Exception raised while unarchiving document objects - *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil
我们发现我们在另一台计算机的情节提要中使用了一种字体样式,而另一台 Macbook 中没有安装该字体样式,这就是我们出现上述错误的原因。
4 .我们在另一台 Macbook 中安装了缺少的字体样式。
这个问题对我们帮助很大 - xcode storyboard - ibtoold unarchiving exception
【讨论】:
【参考方案2】:尝试在终端中执行git status
以确保您拥有文件的干净副本,而不是具有本地修改和/或合并冲突的文件。
用文本编辑器打开文件,看看它是否和其他机器上的一样。
您是否查看过 XCode 中的控制台选项卡以了解问题所在?
【讨论】:
它不会在控制台返回任何错误,据我所知,我有一个干净的副本,实际上我正在尝试运行的只是 git 中当前推送代码的克隆 【参考方案3】:我遇到了这个问题。原来这是一个导致问题的属性字符串。我必须手动编辑情节提要文件以将其替换为常规字符串(即替换 <state>...</state>
部分)。在您的故事板文件中查找hasAttributed...=YES
,然后从那里开始。
例如。替换以下内容:
<state key="normal">
<attributedString key="attributedTitle">
<fragment content="Sign up">
...
</fragment>
</attributedString>
</state>
与:
<state key="normal" title="Sign up">
...
</state>
【讨论】:
以上是关于故事板错误取消归档文档对象 - *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin VS 2017 无法呈现 iOS 故事板文档