XCode 8 – IB Designables – 呈现和更新自动布局状态失败,代理程序崩溃
我最近升级到Xcode 8,并与故事板有问题。
如果我打开该项目,并且没有打开Storyboard,它将编译并运行得很好。 一旦我打开故事板,就会看到关于IB Designable的多个错误,如下所示。
这些视图是使用Cocoapods导入的TextFieldEffects
和BEMCheckbox
中的自定义视图的唯一视图。
您可以尝试以下其中一项来找出原因:
-
在此目录中查找
IBDesignablesAgentCocoaTouch
日志:~/Library/Logs/DiagnosticReports
并查看原因。 -
转到编辑器 – >debugging所选视图,同时在故事板中select
@IBDesignable UIView
,并查看堆栈跟踪。
尝试为任何xib文件禁用“使用特征变体”(“身份和types”面板),这些xib文件可能用于故事板中使用的自定义视图。
我的问题是通过从派生的数据文件夹删除文件夹(这是与这个项目有关)解决。 您可以通过单击文件 – >项目设置 – >然后单击箭头符号deside /Users/…/Xcode/DerivedData单击DerivedData文件夹,您将看到您的项目命名文件夹删除这些。 退出xcode打开你的项目,使用这个步骤清理项目Product-> clean然后构build项目:Product-> Build这些将解决这个问题。
进行必要的更改后,更改故事板或在我的情况下.xib打开“XCode 7”,保存并closures。 这只是一个解决错误的停止差距措施,但最终你需要修复它们,或者直到你不能再这样做。
在我的情况下,我不得不删除一些@IBInspectable
中标记为@IBInspectable
的属性。 这解决了这个问题。
当我debugging这个我发现有一些正在修改用户界面的类。 通常是UILabel的子类或者任何其他类在运行时将UIView和ui进行子类化并与Autolayout引擎冲突的marquelabel。 尝试给这些自定义视图固定宽度或高度。 如果不能解决您的问题,请尝试以下解决scheme: –
解决scheme1: – 在您的pod文件中取消注释#use_frameworks。
解决scheme2: – 尝试删除派生的数据
- closures编辑器窗口的Xcode并退出模拟器 – >
- 转到Xcode首选项 – >位置 – >
- 点击显示派生数据path – >的小灰色箭头
- select你的项目 – >
- 删除里面的所有文件夹 – >
- 退出Xcode并重新打开