我在 XIB 上看到了这个错误。但是其他所有内容都会编译,这个错误似乎不会造成任何损害。我需要担心这个吗?这里有什么问题? 我该怎么解决这个问题?
更新: 我已经将 cocoapods 更新到了最新版本(0.36.3) ,虽然修复了一些编译的问题,但是错误已经返回,现在我看到了一个额外的错误:
这在可可豆中是一个众所周知的问题。 它已经在版本 0.36.1中修复。 只需更新您的 CocoaPods,然后添加特定的代码行到您的 pods 文件: Use _ Framework! after < strong > Platform: ios,’7.0’
所以你的档案应该是这样的:
platform :ios, '7.0' use_frameworks! /// here will be dependencies etc. ///
更新:
一劳永逸地解决问题的完整步骤清单:
pod update
我使用 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 元素。我不知道
这对我很有效:
在 Mac 中更新 cocoapods,使用以下命令为我解决了这个问题 一部分:
sudo gem install cocoapods
问题可能是您使用了框架或自定义 UILabel 类。 像 MarqueLabel 或 TTTAttributedLabel。 在 pod 文件中取消注释 #use_frameworks。 运行 pod update。 清理并重建您的项目。 这会解决你的问题。
#use_frameworks
我有同样的问题,因为我正在使用自定义视图从 POD 的故事板。
做下面的事情为我解决了这个问题
use_frameworks!
在 Podfile中,在末尾添加此脚本并再次执行 pod install。
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!。最后,我创建了一个框架,它使用 IBDesignable和 IBInspectable,并删除了这些关键字。所有的定制都是通过编程完成的:
Cocoapods
IBDesignable
IBInspectable
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 类时,我遇到了这个问题。如果继承了第三方类和您的类,则可以与它们进行检查