2016-05-16 36 views
0

我正在嘗試將鱈魚國際象棋引擎與Swift中編寫的應用程序集成在一起。鱈魚iOS源代碼對所有人開放,但它是用Objective-C編寫的,引擎是用C++編寫的。我沒有Objective-C的問題,但似乎無法理解它將如何與Swift一起工作,並且完全可能。句柄引擎沒有文檔,我很難理解它將如何在Swift應用程序中構建,特別是當這是第一次讓我嘗試類似的東西時。其他人向我建議,我可以嘗試用椰子樹將發動機暴露在迅速,但我有點迷路了。如果任何人有任何建議,我會很棒。感謝您的時間!鱈魚與Swift iOS項目集成的國際象棋引擎集成

+0

您是否閱讀過關於此事的官方文檔? https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/你不明白哪部分? – Losiowaty

+0

[可以在同一個Xcode項目中使用Swift,Objective-C,C和C++文件嗎?](http://stackoverflow.com/questions/32541268/can-i-have-swift-objective-cc-和-c-files-in-the-same-xcode-project) – Caleb

+0

是的,我已經閱讀過,但是這個引擎使用C++和在問題中解釋的包裝器Caleb提到我不明白!但謝謝你回答我的問題! – stan

回答

0

你在這裏真正想要的是一個Swift實現Universal Chess Interface protocol,這樣任何兼容的引擎都可以與CocoaPods(或者Carthage,或者SPM,...)打包並且放入任何兼容的Swift應用中。那可能是那些建議你用CocoaPods嘗試的人所想的。

對於那些僅僅獲得一些用Swift鏈接的Objective-C代碼的不那麼雄心勃勃的任務,是的,這是絕對有可能的,你需要所謂的「Bridging Header」來將Objective-C代碼展示給Swift。完整的細節是在一個自由的書,你可以下載的iBooks:

Using Swift with Cocoa and Objective-C

該文檔也在線蘋果,here's a direct link到直接相關的部分:

要導入一套客觀-C文件與Swift代碼位於同一應用程序目標中,則您需要依賴Objective-C橋接頭將這些文件展示給Swift。 Xcode中提供當您添加斯威夫特文件到現有的Objective-C的應用程序,或者一個Objective-C文件到現有的斯威夫特應用創建這個頭文件......

這個過程通常只是作品™。如果沒有,搜索「橋接標題」,你應該找到很多適當的討論!

+0

謝謝alexcurylo我在應用程序開發方面非常新,而且還沒有學到這一切!感謝您的建議,我會嘗試尋找任何有關UCI實施的幫助! – stan