gpt4 book ai didi

iOS 7 本地(在设备上)收据验证和应用内购买检查

转载 作者:IT王子 更新时间:2023-10-29 08:03:37 24 4
gpt4 key购买 nike

在 Apple 的收据验证编程指南的帮助下,我使用 OpenSSL 和 asn1c 编译器在设备上本地实现了收据验证。我的应用仅支持 iOS 7 及更高版本。

按照 Apple 的建议,我调用 [[NSBundle mainBundle] appStoreReceiptURL] 获取应用商店收据。当应用程序在显示任何 UI 之前“首次”启动时,我也会这样做。第一次启动电话 session 是必要的,因为 Apple 建议刷新收据(如果第一次尝试时不存在)。作为此调用 (SKReceiptRefreshRequest) 的结果,应用程序要求用户输入他们的 iTunes 登录信息。

现在的问题是 Apple 一直拒绝该应用程序,说我正在调用他们的生产服务器而不是沙盒服务器。但是根据我从 Receipt Validation Programming Guide 中了解到的情况,仅当您使用第二种验证方法并通过您自己的安全服务器将数据发送到 Apple 时才有效。然而,我在本地做所有事情,对于如何区分生产环境和沙盒环境以使我的应用程序可以通过审核感到非常困惑。

任何指示或建议都会非常有帮助。

最佳答案

好吧,这就是对我有用的方法,经过近一个月的多轮审查上诉和重新提交,Apple 昨晚批准了该应用程序。

请勿在应用启动时尝试刷新收据,也不要阻塞 UI。在找到收据之前,我所做的是在启动时不显示任何 UI,因此当在启动时提示输入 iTunes 密码时,按取消将显示应用程序的受限版本,输入正确的密码将尝试下载新的收据并采取行动根据是否找到。

所以在启动时,如果您发现收据没问题,如果没有,请不要尝试刷新它。

然而,当用户按下“恢复购买”选项时,请务必刷新它。

希望这对您有所帮助。

关于iOS 7 本地(在设备上)收据验证和应用内购买检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23331456/

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