我试图在Swift OS X项目中包含OpenSSL以进行收据验证.
我已经成功构建了必要的OpenSSL头文件和库文件.我已将它们添加到我的项目中,但是这样做并未提示创建桥接头文件.我已经使用#import手动为每个openssl头文件创建了桥接头文件.在项目构建设置中,我已将"swift编译器 - 代码生成"下的目标C桥接头设置为我的桥接头.我已经按照收据验证编程指南中的描述生成了有效负载格式的ans1c文件:"清单1-1 ASN.1有效载荷格式的定义"并将它们添加到我的桥接头中.
我构建时遇到很多编译错误,主要是openSSL头文件中的未知类型名称,我认为这些文件会在ans1c头文件中定义,但它们不是.我也收到错误"无法导入桥接头...(我的桥接头文件)".
我的想法已经不多了,可能不得不放弃openSSL进行收据验证.如果有人知道我做错了什么,或者你有另一种方法进行验证,我很乐意听到.我的应用程序将有IAP,所以我似乎需要某种方式来检查收据.
我终于弄清楚了编译器错误的根源。XCode 对 openssl 标头的位置非常挑剔。如果我直接链接到标题为“openssl”的头目录,则会出现编译器错误。如果我链接到名为“include”的父文件夹,则没有错误!
我不明白这种行为,但至少现在我有一个解决方案。感谢Receigen上关于将OpenSSL 添加为静态库的说明,我最终准确地遵循了该说明,我能够发现错误的根源。
| 归档时间: |
|
| 查看次数: |
1158 次 |
| 最近记录: |