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的情况下,打开终端给指定工程配置第三方

安装rvm以及cocoa pods的使用

cocoa pods最新安装说明和使用方法

安装RestKit时,Cocoa Pods不兼容的字符编码[重复]

使用 Cocoa pod 设置 RealmSwift

将 cocoapod 依赖项添加到 cocoa touch 框架