- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Raywenderlich 提供的 VerificationController在我的几个应用程序中,这太棒了。完全可靠、易于实现且有效。它已经在我的三个应用程序中运行了几个月。
然而,两天前,这三个应用程序突然都无法正常运行。现在,对于我的真实用户和我自己的测试帐户,每次购买都无一异常(exception)地被标记为无效。我没有对应用程序或其后端进行任何更改,事实上我一直在搬家,所以我已经一周或更长时间没有碰过它们了。所有三个应用程序的更改都是即时的,我开始收到投诉是可以理解的。
问题似乎出在 checkReceiptSecurity()
函数中(当它需要为有效交易返回 YES 时,它总是返回 NO),但该函数中的代码超出了我的理解能力。我希望有人遇到过这样的事情,或者现在正在经历,并且知道解决方案?
据我所知,这似乎发生在第二行(VerificationController.m 第 158 行)。
require(signature_length > offsetof(struct signature_blob, certificate), outLabel);
require(signature_blob_ptr->version == 2, outLabel);
certificate_len = ntohl(signature_blob_ptr->cert_len);
其中有帮助评论为“确保签名 blob 足够长以安全地提取版本和 cert_len 字段,然后对字段执行健全性检查。”当它到达 signature_blob_ptr
行时,它突然跳转到函数的末尾,我认为这意味着它未能通过与 Apple 某些响应的版本号有关的检查?
任何人都可以阐明正在发生的事情吗?这显然对我的应用程序组合造成了破坏,我需要立即修复它。我会暂时禁用验证并在必要时发布更新,但我想找到任何已更改的修复程序...
最佳答案
在 https://forums.developer.apple.com 搜索“收据验证”
显然,证书更新只是让 VerificationController 停止工作。
最明显但一点也不快速的解决方法是使用更新的收据验证处理。请参阅:https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Introduction.html#//apple_ref/doc/uid/TP40010573-CH105-SW1
至于上面的代码,signature_blob_ptr->version == 3 现在。但是在代码中使用 3 而不是 2 并不能解决问题,因为签名不再是 128 字节长。
关于ios - VerificationController 突然停止为所有应用程序工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37312710/
我正在使用 Raywenderlich 提供的 VerificationController在我的几个应用程序中,这太棒了。完全可靠、易于实现且有效。它已经在我的三个应用程序中运行了几个月。 然而,两
我一直致力于整合苹果的例子code用于 iOS 上的应用内购买收据验证到我应用的代码库中。 有谁知道如何处理 VerificationController.m 中有警告行的两个地方: #warning
应用程序运行良好,但在 Xcode 6 上,它在以下方法中出现错误“方法声明缺少上下文”: - (NSString *)encodeBase64:(const uint8_t *)input leng
我长期以来一直在使用 Apple 的示例在本地验证应用内购买收据,但它最近停止在沙盒模式下工作(在生产中工作)。 可能与 iOS 9.3.1 相关,或者他们在服务器端更改了某些内容,尝试验证 tran
我正在使用 Raywenderlich 提供的 VerificationController.m用于验证应用内购买的收据。它在 XCode5 中工作正常,但在 XCode6 中它给出了一些错误。可能是
我一直在考虑实现新的 VerificationController 来验证应用内购买: http://developer.apple.com/library/ios/#releasenotes/Sto
我正在尝试实现新的 VerificationController.m Apple 发布的用于解决应用内购买欺诈问题的类。 作为 Apple 发布的所有内容,这是一份更加模糊、不完整且解释不当的文档,其
我刚刚将应用内购买添加到我的 iOS 应用程序中,我的一些用户崩溃了 -[__NSCFString objectForKey:]: unrecognized selector sent to inst
我是一名优秀的程序员,十分优秀!