iOS 钥匙串使用

iOS keychain usage

我想免费提供一个应用程序 - 但仅限一段时间(试用期)。这段时间过去后,用户只能有限地访问该应用程序。

据我所知,最干净的方法是实现一个存储用户安装详细信息的后端(这样,如果用户安装和重新安装,此信息仍会保留在某处)。但我也遇到了钥匙串的概念,它似乎允许我在 Apple 的托管服务器中存储任意数据。所以我想使用这个机制——为用户存储安装日期。

我的问题: 1.这是否违反钥匙串的意图? 2.用户可以手动删除钥匙串条目吗?我想我在某处读到用户可以重置他们的 phone 以删除条目。

提前致谢!

此致

亚历克斯

没有回答你的主要问题,但我认为你会发现你的第一个跟踪安装后端的想法是行不通的,因为 Apple 强烈反对应用程序能够发送任何唯一标识的信息设备。

至于钥匙串,我相当确定虽然您很可能会在其中存储足够的数据供您使用,但卸载应用程序也会从钥匙串中擦除它的数据。你可以使用 iCloud 来存储你需要的东西,但如果用户意识到这是正在发生的事情,他们总是可以从 iCloud 中删除你应用程序的数据。不过我可能还是会走那条路。

你说的很对。您可以将数据存储在钥匙串中,即使用户删除您的应用程序并重新安装它也会保留。用户可以删除钥匙串以重置他们的 phone 或从安装您的应用程序之前的备份中恢复,但实际上没有用户会为了避免为您的应用程序付费而费心这样做。

钥匙串专为安全存储凭据而设计,但使用它存储安装日期应该不会遇到任何问题。请注意,钥匙串在设备本地,但可以同步到其他设备

如果您实施了后端解决方案,您仍然可能会使用设备钥匙串来存储 UUID(或其他 ID)以识别 device/user。更多的努力可能没有收获