在斯威夫特干邑国际象棋引擎与iOS项目集成

我正在尝试将使用Swift编写的应用程序集成干鱼棋引擎。 鳕鱼iOS源代码对所有人开放,但它是用Objective-C编写的,引擎是用C ++编写的。 我没有Objective-C的问题,但似乎无法理解它将如何与Swift一起工作,并且完全可能。 句柄引擎没有文档,我很难理解它将如何在Swift应用程序中构建,特别是当这是第一次让我尝试类似的东西时。 其他人向我建议,我可以尝试用椰子树将发动机暴露在迅速,但我有点迷路了。 如果任何人有任何建议,我会很棒。 感谢您的时间!


你真正需要的是Swift实现通用Chess接口协议,以便任何兼容的引擎可以与CocoaPods(或Carthage,或SPM,...)打包并放入任何兼容的Swift应用程序中。 那可能是那些建议你用CocoaPods尝试的人所想的。

对于仅仅获得一些与Swift链接的Objective-C代码这个不那么雄心勃勃的任务来说,是的,这是完全可能的,你需要所谓的“Bridging Header”来将Objective-C代码暴露给Swift。 完整的细节在一本可以下载到iBooks的免费书籍中:

在Cocoa和Objective-C中使用Swift

本文档也在Apple网站上提供,这里直接链接到相关部分:

要将一组Objective-C文件导入与Swift代码相同的应用程序目标中,您需要依靠Objective-C桥接头将这些文件公开到Swift中。 当您将Swift文件添加到现有的Objective-C应用程序或Objective-C文件添加到现有的Swift应用程序时,Xcode提供创建此头文件...

这个过程通常是Just Works™。 如果没有,搜索“桥接标题”,你应该找到很多适当的讨论!

链接地址: http://www.djcxy.com/p/84655.html

上一篇: Stockfish Chess Engine Integration with iOS project in Swift

下一篇: Object orientated design for chess engine