在 OS X El Capitan 上将项目迁移到 Xcode 7.2 会破坏构建
Migrating project to Xcode 7.2 on OS X El Capitan breaks the build
我之前是 运行 OS X Mavericks Xcode 7.1,我刚刚更新到 OS X El Capitan 和 Xcode 7.2。我的应用程序在模拟器和设备上启动良好,没有任何故事板警告。现在我在情节提要中看到一堆关于缺少约束的警告,并且应用程序崩溃并出现此错误:
由于未捕获的异常 'NSInvalidUnarchiveOperationException',正在终止应用程序,原因:'Could not instantiate class named IBNSLayoutConstraint'
我也尝试了这里发布的解决方案:Could not instantiate class named IBNSLayoutConstraint
我在 xml 的任何地方都找不到 placeholder="YES" 并且我的故事板太大而无法实际检查每个约束以查看我是否错误地为任何约束打开了 Placeholder 复选框.
我在查看情节提要 xml 时确实看到了以下警告。
您实际上使用的不是 Storyboard,而是 Xib。在您的文件中,您会找到如下部分:
<mask key="constraints">
<exclude reference="6fq-cy-xp8"/>
</mask>
您需要将 .xib
打开为 "Source Code" 并删除它们,以便约束变为 installed
。
Select 故事板禁用大小 class 解决了我的问题。希望对你有帮助!谢谢
构建项目后,您可以再次启用大小 class.
主要是确保当您使用 IB 来检查您是否对“installed”复选框没有任何限制时,如果 他们所属的视图是“未安装”。 Xcode 7.1 甚至没有对此发出警告,但 7.2 导致崩溃
Disable
AutoLayout
在你的故事板上。这应该可以解决您的问题。
我之前是 运行 OS X Mavericks Xcode 7.1,我刚刚更新到 OS X El Capitan 和 Xcode 7.2。我的应用程序在模拟器和设备上启动良好,没有任何故事板警告。现在我在情节提要中看到一堆关于缺少约束的警告,并且应用程序崩溃并出现此错误:
由于未捕获的异常 'NSInvalidUnarchiveOperationException',正在终止应用程序,原因:'Could not instantiate class named IBNSLayoutConstraint'
我也尝试了这里发布的解决方案:Could not instantiate class named IBNSLayoutConstraint
我在 xml 的任何地方都找不到 placeholder="YES" 并且我的故事板太大而无法实际检查每个约束以查看我是否错误地为任何约束打开了 Placeholder 复选框.
我在查看情节提要 xml 时确实看到了以下警告。
您实际上使用的不是 Storyboard,而是 Xib。在您的文件中,您会找到如下部分:
<mask key="constraints">
<exclude reference="6fq-cy-xp8"/>
</mask>
您需要将 .xib
打开为 "Source Code" 并删除它们,以便约束变为 installed
。
Select 故事板禁用大小 class 解决了我的问题。希望对你有帮助!谢谢 构建项目后,您可以再次启用大小 class.
主要是确保当您使用 IB 来检查您是否对“installed”复选框没有任何限制时,如果 他们所属的视图是“未安装”。 Xcode 7.1 甚至没有对此发出警告,但 7.2 导致崩溃
Disable
AutoLayout
在你的故事板上。这应该可以解决您的问题。