在 Swift 3 / Xcode 8 (SharkORM) 中安装第三方 Objective-C 库

Posted

技术标签:

【中文标题】在 Swift 3 / Xcode 8 (SharkORM) 中安装第三方 Objective-C 库【英文标题】:Installing third party Objective-C library within Swift 3 / Xcode 8 (SharkORM) 【发布时间】:2016-11-19 16:57:22 【问题描述】:

我是 Xcode/Swift 的新手,想安装第三方库 (SharkORM)。

我将文件夹“SharkORM”拖放到 XCode 中并选择“创建组”。然后我创建了一个文件“Swift-Bridging-Header.h”并按照documentation 中的描述输入#include “SharkORM.h”。当我按住 CMD 并单击它时,它会引导我进入界面声明(好!?)。现在当我尝试使用它时:class MyClass: SRKObject ... 我得到一个错误:“使用未声明的类型'SRKObject'”。但是我可以 CMD+点击它,这会导致我再次进入接口声明。

我也尝试使用 Cocoapod 安装,但没有成功。

【问题讨论】:

如果你使用 CocoaPods 安装,你所要做的就是在你的 Swift 类的顶部import SharkORM 将它与可可豆荚一起使用时遇到什么问题? 【参考方案1】:

正如在 GitHub 上发布的那样,听起来您创建的头文件尚未作为选择的桥接头添加到构建设置中。

这是最有可能导致对象未在您的 swift 代码中定义的情况。

【讨论】:

好的,谢谢!在构建设置下有一个选项“Objective-C Bridging Header”。我在那里添加了“projectgroup/Swift-Bridging-Header.h”。我还需要清洁(产品 -> 清洁)。 太好了,很高兴你能成功。一旦我的代表超过 1k,我将创建一个鲨鱼标签,然后在未来更快地收到任何问题的通知。【参考方案2】:

检查 SharkORM.h 是否包含 SRKObject 声明。如果没有,用它找到头文件并将其放置到桥接头中

【讨论】:

以上是关于在 Swift 3 / Xcode 8 (SharkORM) 中安装第三方 Objective-C 库的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3、Xcode 8 中的 UINavigationController

xcode 8.3.3 是不是运行 swift 3.2

Alamofire 在 Swift 3、Xcode 8 中出现错误

SDWebImage 库在 swift 3 Xcode 8.0 中出现错误

现有的领域数据库不能在 swift 3.1 xcode 8 中工作

NSKeyedArchiver 在 Swift 3 (Xcode 8) 中不起作用