10

在 iPhone 上,不包括越狱手机,其他应用程序可以读取您设置的值NSUserDefaults吗?我正在考虑为我们的服务保存客户的用户 ID/密码,并希望确保它是安全的。

4

3 回答 3

9

不,其他应用程序无法看到您的数据。也就是说,您可能应该考虑使用 iPhone 上的钥匙串来存储用户名和密码等敏感数据。

于 2009-12-08T18:19:32.540 回答
1

不,应用程序是沙盒的。这包括他们自己的首选项和用户数据目录。

请参阅:http: //developer.apple.com/iPhone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ApplicationEnvironment/ApplicationEnvironment.html#//apple_ref/doc/uid/TP40007072-CH7-SW44

于 2009-12-08T18:15:00.013 回答
-2

首先,您应该将用户名/密码保存在钥匙串中,而不是用户默认值。

其次,是的,其他应用程序可以读取 NSUserDefaults。默认值是 unix 风格的用户默认值,而不是应用程序默认值。在旧的 NextStep 操作系统下,单个用户默认会跟随他们从联网机器到联网机器。这个想法是用户对所有应用程序都应该使用的默认字体等事物有偏好。

iPhone 通过精简版的 MacOS X 继承了这一点。我不确定 iPhone 应用程序的沙盒在这方面有多彻底。如果您知道域和值的正确键,则可能会通过系统蠕虫。

当然,Apple 强烈反对在用户默认设置中保留任何敏感信息。

于 2009-12-08T18:19:07.737 回答