【发布时间】:2015-04-14 14:16:10
【问题描述】:
我正在尝试将 OpenSSL 包含在 Swift OS X 项目中以进行收据验证。
我已经成功构建了必要的 OpenSSL 头文件和库文件。 我已将它们添加到我的项目中,但这样做并没有提示创建桥接头文件。 我已经为每个 openssl 头文件使用 #import 手动创建了桥接头文件。 在项目构建设置中,我已将“swift 编译器 - 代码生成”下的目标 C 桥接头设置为我的桥接头。 我已经按照收据验证编程指南中的描述生成了有效载荷格式的 ans1c 文件:“Listing 1-1 ASN.1 definition of the payload format”并将它们添加到我的桥接头中。
我在构建时遇到了许多编译错误,主要是针对 openSSL 头文件中的未知类型名称,我原以为会在 ans1c 头文件中定义,但事实并非如此。我也收到错误“无法导入桥接头...(我的桥接头文件)”。
我的想法不多了,可能不得不放弃 openSSL 以进行收据验证。如果有人知道我做错了什么,或者如果您有另一种验证方法,我很想听听。我的应用程序将有 IAP,所以看来我需要某种方式来检查收据。
【问题讨论】:
-
我相信我已经隔离了我当前的问题,但我不知道如何纠正它。我已经构建了两个基本项目,其中我已经导入了 openSSL 库和头文件,一个在 Swift 中,另一个在 Objective C 中。使用 Objective C 版本,我可以毫无错误地构建。在 Swift 版本中,构建会导致多个编译器错误,其中大多数是一些 openSSL 类型的未知类型名称。当我将头文件引入 Swift 项目时,没有提示我制作桥接头,这让我怀疑我没有正确导入这些文件。