IB 可设计性: 未能更新自动布局状态: 未能从路径加载可设计性(空)

我在 XIB 上看到了这个错误。但是其他所有内容都会编译,这个错误似乎不会造成任何损害。我需要担心这个吗?这里有什么问题? 我该怎么解决这个问题?

enter image description here

更新: 我已经将 cocoapods 更新到了最新版本(0.36.3) ,虽然修复了一些编译的问题,但是错误已经返回,现在我看到了一个额外的错误:

enter image description here

48792 次浏览

这在可可豆中是一个众所周知的问题。 它已经在版本 0.36.1中修复。 只需更新您的 CocoaPods,然后添加特定的代码行到您的 pods 文件: Use _ Framework! after < strong > Platform: ios,’7.0’

所以你的档案应该是这样的:

platform :ios, '7.0'


use_frameworks!


/// here will be dependencies etc. ///

更新:

一劳永逸地解决问题的完整步骤清单:

  • 关闭工程项目;
  • 开放终端应用程序;
  • 将 CocoPods 本身更新为0.36.1或更高版本;
  • 导航到终端中的项目文件夹;
  • 类型: pod update;
  • 在 xCode 中打开项目;
  • 清洁工程;
  • 再次构建项目。

我使用 TTTAttributedLabel 遇到了同样的问题,并按照安德烈的回答试图解决这个问题。构建是成功的,但是之后似乎无法加载其他 pod 模块的 bundle 文件(在我的例子中是 TSMessage、 SVProgressHUD)。这也在 Cocoapods 博客文章中说明了,我不想将 bundle 资源移动到 mainBundle (我还没有验证这是否有效)

因此,我选择从 Podfile 删除 tttAttributedLabel,直接包含源代码来消除这个错误。这对我有用,我希望它也是这个问题的另一个答案。

经过一些研究和挖掘,我可以肯定,没有办法解决这个问题。

这是 Xcode 的 bug

就这样,我们必须等待最新消息。

目前只有 重新开始的 Xcode。

可能有点晚了,但是当我遇到这个问题时,添加这些初始化代码对我来说很有用

required override init(frame: CGRect) {
super.init(frame: frame)
}


required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}

2016年是 xCode 7.3.1: 我得到了这个错误。(使用可可豆荚1.0,但没有关系)

原因: 在 IB 中使用了一个特殊的 UILabel 子类?

优雅的解决方案:

1: 子类 TTTAttributedLabel 或 FXLabel 或任何你有的东西。在 IB 中使用它。

2: 在子类化的.h 文件中添加这些行:

#ifndef IB_DESIGNABLE
#define IB_DESIGNABLE
#endif


@class LabelFromPod;




IB_DESIGNABLE @interface YourLabel : LabelFromPod {
...
}

然后,我认为您必须清除项目,退出 xCode,重新构建(通常的 xCode 紧急协议) ,问题就会消失。

2017年最新情况 XCode 8.2.1: 情况变得更糟了: (空白的 VC 问题: IB 甚至不加载具有这些 IB _ DESIGNABLE 的视图控制器的 UI 元素。我不知道

这对我很有效:

  1. 删除派生数据(首选项 > 位置)
  2. 重启 Xcode
  3. 清洁工程(产品 > 清洁)

在 Mac 中更新 cocoapods,使用以下命令为我解决了这个问题 一部分:

sudo gem install cocoapods

问题可能是您使用了框架或自定义 UILabel 类。 像 MarqueLabel 或 TTTAttributedLabel。 在 pod 文件中取消注释 #use_frameworks。 运行 pod update。 清理并重建您的项目。 这会解决你的问题。

我有同样的问题,因为我正在使用自定义视图从 POD 的故事板。

做下面的事情为我解决了这个问题

  • 在 POD 上添加以下代码行(转动动态框架中的 POD) use_frameworks!
  • pod update
  • 重启 Xcode

Podfile中,在末尾添加此脚本并再次执行 pod install

post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings.delete('CODE_SIGNING_ALLOWED')
config.build_settings.delete('CODE_SIGNING_REQUIRED')
end
end

我有一个类似的错误,当我使用 Cocoapods和不能 use_frameworks!。最后,我创建了一个框架,它使用 IBDesignableIBInspectable,并删除了这些关键字。所有的定制都是通过编程完成的:

class CardFloatingLabelTextField: SkyFloatingLabelTextField {


required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)


self.errorMessage = nil
self.titleFont = UIFont.systemFont(ofSize: 11)
self.titleFormatter = { (text: String) in return text }
self.titleColor = UIColor.channelsColorGrayFootnoteAndCaptions()
self.selectedTitleColor = UIColor.channelsColorGrayFootnoteAndCaptions()
self.lineColor = UIColor.channelsColorGrayContentAndLines()
self.selectedLineColor = UIColor.channelsColorDarkBlue()
self.lineHeight = 1
self.selectedLineHeight = 1


}


}

它可以工作,而且不会在 Interface Builder 中产生 bug。然而,很遗憾,我不得不做这个变通。

删除你在 Podfile 的内容,直接包含源代码来解决这个问题。

我没问题!

当基类和子类都被称为@IBDesignable 类时,我遇到了这个问题。如果继承了第三方类和您的类,则可以与它们进行检查