2016-03-23 41 views
2

我正在編寫一個應該跨平臺的應用程序,所以我的想法是在C中編寫完整的基板,然後用Objective-C或其他合適的語言編寫用戶界面相關的東西(即C++對於linux)。使用OpenSSL與XCode 7.3

對於那個應用程序,我必須使用OpenSSL;正如文件Apple 丟掉了這個庫自SDK 10.11以來的支持;因爲我知道OpenSSL應該可用,直到SDK 10.10。

現在我的問題:我想用XCode 7.3進行開發,但我希望我的應用程序也應該向後兼容較早版本的OS X;我的想法是我必須在新的XCode 7.3中安裝舊的SDK,然後在「Build settings」 - >「Base SDK」下選擇正確的SDK。

有人可以指向我描述如何在新的XCode上下載和安裝舊SDK的文檔?在Apple開發者網站上,我發現只有舊版本的XCode,但它會安裝完整舊版本的XCode ...

感謝您的寶貴幫助。

回答

1

與其構建一箇舊的SDK,您應該自己構建並鏈接到OpenSSL。從documentation

如果您的應用程序依賴於OpenSSL的,你應該自己編譯OpenSSL和靜態鏈接的OpenSSL的一個已知的版本到您的應用程序。

無論如何,隨OS X附帶的OpenSSL版本已舊且過期。蘋果公司放棄了對它的支持,原因正是因爲它們不能在不破壞向後兼容性的情況下發布新版本(OpenSSL在發佈之間不是穩定的API)。

+0

好的,謝謝你的回答;也許我用了一個錯誤的例子;我的問題是:如何使用舊的SDK構建以確保向後兼容(超越OpenSSL庫)? –

+0

常規方法是使用最新版本的SDK進行構建,但將部署目標設置爲您要定位的版本。如果您在Swift中開發,如果您嘗試使用在最老的目標操作系統版本中不存在的API(不使用'#available()'檢查它),編譯器會警告您。如果你使用ObjC,那麼不幸的是,編譯器並不那麼聰明。你可以嘗試一個像[DeployMate](http://www.deploymateapp.com)這樣的工具。 –