我有来自第三方SDK的静态库 - 它是编码和解码的FIT SDK"灵活&可互操作的数据传输协议",用于各种运动和健身设备。它是一种二进制格式,在SDK中有详细描述,它还附带了一堆CPP,C-Sharp和Objective-C示例 - 以及一个由CPP源构建的静态库。
从每个人的想法来看,我应该能够使用静态库构建我的Swift应用程序,包括必要的桥接头。
我做了一个屏幕流程(https://vimeo.com/205082135)来说明发生了什么,这就是我在这里的原因。
我可以使用Xcode 8(beta 3)来构建一个包含库甚至一些Objective-C代码的新的新项目。一旦我添加桥接头,即使有一个基本的包含,带有链接器错误的XCode陨石坑,抱怨它无法从标准C ++库中找到一些类,如或。 闻起来像Xcode的配置管理问题,我根本无法理清。
我的图书示例项目位于:https://github.com/bleeckerj/Xcode-FIT-TEST
以前有人见过这种事吗?
答案 0 :(得分:0)
所以,通过一些帮助和大量的时间和试验,我设法解决问题并回答我自己的问题。
实际上,需要围绕C ++(或Objective-C ++)类的Objective-C包装器,该类包含要从Swift公开和调用的代码。然后是Bridging Header,只暴露了Objective-C类。这个特殊的桥接标题听起来很简单,现在它实际上很容易 - 但对我来说这是一个谜。这是一个长篇大论的故事,所以我将其解释为从FIT SDK派生的示例存储库https://github.com/bleeckerj/fit-sdk-with-swift的一部分,该示例存储库通过示例回答问题。
希望能够帮助遇到此问题的任何人。