【问题标题】:Is data stored in iCloud using Key/Value accessible by users?用户是否可以使用 Key/Value 存储在 iCloud 中的数据?
【发布时间】:2019-11-10 18:27:58
【问题描述】:

我有一个应用程序使用 iCloud 中的键/值对来实现存储。根据我在documentation 中读到的内容,这几乎与 NSUserDefaults 的工作方式相同。

但是,这可能会产生问题,因为用户不应该有能力篡改存储在其中的应用数据。这是否意味着用户可以访问这些数据并对其进行修改?或者它是应用程序私有的?

【问题讨论】:

    标签: ios macos icloud tvos


    【解决方案1】:

    这取决于您在 iCloud 中存储的数据类型,如果它是敏感的,那么我会使用 keychain services 方法并避免在 iCloud 上存储敏感信息。

    从问题看来,您似乎将数据存储在键值对中,通常,建议存储首选项、设置和简单的应用程序状态,这应该没问题,因为用户可以更改这些,你 should choose the right iCloud API for what you want to store

    使用 iCloud,用户可以随时删除其存储的信息,如documentation 中所述

    用户有时可能想要从 iCloud 中删除内容。 提供 UI 以帮助您的用户了解从 iCloud 会将其从用户的 iCloud 帐户及其所有 支持 iCloud 的设备。为用户提供确认机会 或取消删除

    当你问

    或者它是应用程序私有的?

    您的权利文件中有一个 iCloud 标识符。如果两个应用程序中的相同,您将能够跨两个应用程序访问相同的数据/文档。

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      好的,深入阅读它说的文档

      如果您的应用需要存储密码,请不要使用 iCloud 存储 API 为了那个原因。存储和管理密码的正确 API 是 钥匙串服务,如钥匙串服务参考中所述。

      我在最后一个表格的前一行发现了这段文字here :)

      我还在某处发现用户可以手动删除他的 iCloud 数据,这可以算作修改。

      另外,请阅读here,“如果您的 iCloud 数据在开发期间变得不一致,请重新开始”部分,其中说明了如何清理容器。也许您可以检查内部可见的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-08
        • 2020-10-28
        • 1970-01-01
        • 2015-08-22
        • 2015-05-19
        • 2016-01-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多