cocoapods 安装代码在库上崩溃后
Posted
技术标签:
【中文标题】cocoapods 安装代码在库上崩溃后【英文标题】:After cocoapods installation code crashes on library 【发布时间】:2017-07-17 06:57:14 【问题描述】:所以当我不使用 Cocoapods 时,我使用 FSPagerView 做得很好,但是当我安装 Cocoapods 并从项目中删除以前的 (FSPagerView) 文件时,代码变成了一个臭名昭著的“类不是键值投诉”在没有太多信息的情况下崩溃。崩溃日志如下:
Unknown class _TtC14MyApp11FSPagerView in Interface Builder file.
Unknown class _TtC14MyApp13FSPageControl in Interface Builder file.
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIView 0x7fce69f03010> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key dataSource.'
我做错了什么?我真的很想知道并开始。感谢您的帮助,无论您能提供什么:)
附:我使用的是工作区而不是项目,我的委托和数据源链接得到了适当的处理,但我仍然确定它有一些 Interface Builder BS!
【问题讨论】:
【参考方案1】:根据错误描述,您的 IB 文件与某些视图关联的类名错误。很可能是因为您必须在此处使用“Namespace.ClassName”格式,因为 CocoaPods 有自己的命名空间。默认命名空间与 pod 名称相同。
打开您的 IB 文件,找到所需的视图并检查其类名是否为“FSPagerView.FSPagerView”。对于 FSPageControl 元素类名应该是“FSPagerView.FSPageControl”。
【讨论】:
仍然没有运气,每当我进入自定义类时,它都会回到原来的状态并像以前一样崩溃:(【参考方案2】:所以这并不是真正的接口构建问题,而是 Xcode 与 Cocoapods 的问题。基本上 Cocoapods 在
时不会自动将框架包含到链接框架中pod install
被执行。而是你必须进入
Target > General > Linked Frameworks and Libraries
然后将它们添加到那里。这解决了问题。很简单吧?
【讨论】:
【参考方案3】:我刚刚在 UIViewController 子类中发生了这种情况,解决方案是勾选“从目标继承”,我在 IB 中设置了自定义类。
【讨论】:
【参考方案4】:在我的情况下,该课程不是目标会员的一部分。只需将类添加到目标中,您应该会在界面生成器中看到它。
【讨论】:
以上是关于cocoapods 安装代码在库上崩溃后的主要内容,如果未能解决你的问题,请参考以下文章
在已经安装cocoa pods的情况下,打开终端给指定工程配置第三方