gpt4 book ai didi

ios - 如何在ios中正确检查应用程序订阅中可更新的到期时间

转载 作者:行者123 更新时间:2023-11-29 11:36:37 25 4
gpt4 key购买 nike

我正在开发应用内订阅(每月、每年)的应用程序。当我收到来自苹果的回复收据时(我正在使用苹果服务器验证收据,我知道这不是一个好主意,但仍然如此),我想检查订阅的到期日期。这是检查部分。

NSDate *currentDate = [NSDate date];
NSDate *expireDate = receipt[@"expires_date"];
NSComparisonResult result = [currentDate compare:expireDate];
BOOL subscribed = (result != NSOrderedDescending);

但如果设备时间错误(用户更改了设备时间),我如何确定订阅仍然有效?也许我应该从服务器请求当前时间?

最佳答案

我建议多读一点关于 Apple's receipt verification 的内容以及如何最有效地验证应用内购买。

To your question: In short, yes. Requesting the current time from a server will give you the current time independent from the users device. This will always be the most reliable way to retrieve the current time.


更多细节...


您需要做的是将收据 url 读取为数据,然后从数据中对其进行 base 64 编码。这个问题有一个类似的帖子,这将有助于理解这个过程。

最终,您需要尽可能安全地处理这些敏感数据 - 此过程将允许您为 IAP 检索保存最完好的“安全”到期日期(收据)。


Read this post to help point you in the right direction.


关于检查“正确时间”,您可以在此处采用几种方法。

方法一从 API 获取正确的时间。 Here is an API你可以用来获取世界时间。 You could also use AWS获取当前时间。

方法 2 This response进入一个简单的方法来监视设备时钟的变化,以确保/倾听用户改变时间。通过监视任何时间更改,您可以确定用户是否恶意更改了时钟。

方法 1 将提供(当然)一个独立的时间供您比较,应该始终是真实的当前时间,而方法 2 是可以监控设备的时钟。

关于ios - 如何在ios中正确检查应用程序订阅中可更新的到期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48852252/

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