我有一个应用程序正在使用iCloud中的键/值对实现存储。根据我在documentation中所读的内容,这几乎与NSUserDefaults的工作方式相同。
但是这可能会引起问题,因为用户不应具有篡改存储在其中的应用程序数据的能力。这是否意味着用户可以访问此数据并进行修改?还是对应用程序私有?
答案 0 :(得分:5)
好好阅读其中的文档
如果您的应用需要存储密码,请不要使用iCloud存储API 为了那个原因。用于存储和管理密码的正确API是 钥匙串服务,如《钥匙串服务参考》中所述。
我发现此文本here仅在最后一张表格的前一行:)
我还在某处发现用户可以手动删除其iCloud数据,这可以算作修改。
此外,请阅读here的“如果在开发过程中iCloud数据不一致时重新启动”一节,其中说明了如何清洁容器。也许您可以检查内部可见的东西。
答案 1 :(得分:0)
如果敏感,这取决于您存储在iCloud中的数据类型,然后我将使用keychain services方法并避免将敏感信息存储在iCloud中。
从这个问题看来,您似乎是将数据存储在键值对中,通常建议存储首选项,设置和简单的应用状态,这应该没问题,因为用户可以更改它们,{{3 }}
使用iCloud,用户可以随时删除should choose the right iCloud API for what you want to store
中提到的已存储信息。有时用户可能想要从iCloud删除内容。 提供用户界面以帮助您的用户了解从中删除文档 iCloud会将其从用户的iCloud帐户及其所有用户中删除 支持iCloud的设备。为用户提供确认机会 或取消删除
当您询问
还是对应用程序私有?
您的权利文件中有一个iCloud标识符。如果两个应用程序都相同,则可以在两个应用程序中访问相同的数据/文档。
希望有帮助。