ios - Bundle.main.url(forResource: "AppleIncRootCertificate", withExtension: "cer") == nil
问题描述
为了在Swift
iOS 应用程序中设置 Receipt-Validation(使用In-App-Purchase
),我正在关注本教程:https ://www.raywenderlich.com/9257-in-app-purchases-receipt-validation-tutorial并在此处阅读:验证苹果在收据上签字。
这是我目前遇到的一个问题。
在代码中我有这个:
Bundle.main.url(forResource: "AppleIncRootCertificate", withExtension: "cer")
当我检查它的值时,它是零。由于它应该用于提取更多信息,因此它显然不应该是 nil。问题是:代码或某些设置中可能有什么问题使这个为零?
这是我第一次实施 Receipt-Validation,所以很可能是我遗漏了一些基本的东西。
解决方案
我认为您可能解决了您的问题,但这可能对其他人如何清楚地解决问题有用。因此,如果
Bundle.main.url(forResource: "AppleIncRootCertificate", withExtension: "cer")
给你nil
,你没有这个证书。正如上面评论中所建议的,去这里下载苹果根证书下所需的证书 - > 苹果公司根证书。
现在您需要将下载的证书添加到您的目标。移动到目标的构建阶段,展开复制捆绑资源并按“+”按钮。然后选择“打开其他...”并选择证书。选中“如果需要导入”或类似的框并启动应用程序。现在你不应该得到零。
推荐阅读
- python - [Python][Adobe Acrobat]将PDF另存为Excel问题
- huawei-mobile-services - HUAWEI Push-获取访问令牌的API不起作用
- javascript - 使用 javascript 刷新 django 子模板 - 仅重新加载页面的一部分
- php - Ajax 尝试从表中更新数据,但在其他行中不起作用
- fortran - Fortran 中的 COMMON 块是否必须在 OpenMP 的每个子例程中声明为 threadprivate?
- scala - Flink Cogroup - 值映射不是 Object 的成员
- crystal-lang - 水晶错误:数组(字符串)的未定义方法“长度”
- r - 如何从 R 中的列表聚合多个 data.frames?
- python - 知道另一列中的元素值在同一行中获取数据(两个列名都知道)
- python - IndexError:用于绘制图形的python中的元组索引超出范围