2016-03-23 33 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)这样的工具。 –