gpt4 book ai didi

ios - VerificationController 突然停止为所有应用程序工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:06:09 24 4
gpt4 key购买 nike

我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com