xcode 7 - " openssl / pkcs7.h"在xcode 7中找不到文件

时间:2015-10-05 13:50:28

标签: objective-c macos cocoa xcode7

我正在使用以下头文件的Mac应用程序

#include <openssl/pkcs7.h>
#include <openssl/objects.h>
#include <openssl/sha.h>
#include <openssl/x509.h>
#include <openssl/err.h>

我最近将OSX Yosemite更新为OSX El Capitan 和Xcode 6.4到7.0

项目在更新前成功运行。 现在这些文件不可用。

我需要做些什么才能让它再次运作?

其中一个解决方案是使用可可豆荚的iOS。

没有使用可可豆荚还有其他方法吗?

1 个答案:

答案 0 :(得分:3)

Apple不久前弃用了openssl,它已经不再是SDK的一部分了,而且自10.11版本起,它本身不会附带OS X.

Reference here

你没有提到你使用openssl的是什么。解决方案取决于您的需求。如果您必须使用openssl(例如,过多的代码依赖于它),那么您需要自己获取openssl,使用下载的头文件进行编译并将库包含在您的应用程序分发中。如果您不想手动执行此操作,Cocoapods似乎是一种合理的方法。

或修改您的代码以使用OS X附带的其他库,如Security TransformsCommonCrypto

<强>更新 似乎Apple的文档有点误导(惊喜!)。旧版openssl(0.9.8)的动态库仍然以10.11分发。刚刚检查了10.11的全新安装,libcrypto和libssl仍在那里。

如果这已足够(例如,您只需使用openssl进行App Store收据验证),您就可以获得10.10 SDK中的头文件(使用xcode 6.4从Apple下载)并仅使用头。您不需要实际的openssl二进制文件。