gpt4 book ai didi

ios - 如何找出自特定用户/设备首次打开 iOS 应用程序以来已经过去了多少天?

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:26 28 4
gpt4 key购买 nike

我创建了一个 iOS 应用程序,并希望为用户提供自该应用程序首次安装并启动以来免费使用该应用程序 30 天的机会。

在这 30 天之后,我想关闭大部分功能。保留完整功能的唯一方法是使用用户名和密码登录,用户可以在专用网站上注册。

我的问题是:

当应用程序第一次启动时,我想在远程服务器上存储一个唯一标识符和此时的时间戳。然后我会知道这个唯一 ID 什么时候过去了 30 天。

不幸的是,似乎 iOS 上唯一类似 uuid 的标识符是 identifierForVendor .根据文档,当用户删除来自同一应用程序供应商的所有应用程序然后重新安装它们时,uuid 会发生变化。由于此 uuid 与我存储到远程服务器数据库中的 uuid 不匹配,因此尽管 30 天过去了,用户仍可以重新使用该应用程序。

来自文档:

The uuid on iOS uses the identifierForVendor property. It is unique to the device across the same vendor, but will be different for different vendors and will change if all apps from the vendor are deleted and then reinstalled. See the official Apple docs.

The UUID will be the same if app is restored from a backup or iCloud as it is saved in preferences. Users using older versions of this plugin will still receive the same previous UUID generated by another means as it will be retrieved from preferences.

我的问题是:

有没有办法查明自用户第一次打开应用以来已经过了多少天,即使他删除/重新安装了我制作的所有应用?

注意:由于我使用的是 Phonegap/Cordova,因此欢迎使用与 Cordova 兼容的解决方案,但也可以使用 native Swift/Objective-C 解决方案。

最佳答案

您的应用可以在 iOS 设备的钥匙串(keychain)中存储自己的唯一 ID(来自服务器或可能随机生成)和/或日期戳。从设备中删除应用时,钥匙串(keychain)不会被清除。

参见 Apple 的 Keychain services programming guide .

关于ios - 如何找出自特定用户/设备首次打开 iOS 应用程序以来已经过去了多少天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35807497/

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