可以使用Objective-C ++框架包装C ++代码,以便在Swift代码中使用,包括Playground环境。我的一些框架包括OpenCV库,这在Swift正确包装时效果很好。不幸的是,由于以下错误,我无法在游乐场中使用这些:
Playground execution failed: error: Couldn't lookup symbols: _OBJC_CLASS_$_MyClass
...其中MyClass
是我框架中NSObject
的子类。实际上,在链接到其中一个OpenCV库之后,没有框架符号可用于游乐场(例如,在构建设置中将-lopencv_core
添加到“其他链接器标志”之后),这些符号是否与之相关OpenCV(或C ++)。
我非常喜欢在导入框架的上下文中在游乐场中开发一些小功能,成功的解决方案最终会在这些框架中结束。同样,OpenCV对我来说是一个重要的图书馆,因此必须在游乐场玩它才能解放(更不用说有趣)了。
我还在使用Swift 1.2(OS 10.10.4),因为我即将向App Store提交更新,但如果Swift 2在这方面有任何改变,我会感兴趣。至于OpenCV,这是版本3.0.0,使用CMake和默认配置构建。
编辑:刚刚在Apple的论坛中发现了这个问题(比我更好,更普遍):https://forums.developer.apple.com/thread/6246