如何使用其他应用程序的设置

0 iphone settings nsuserdefaults

我可以在iPhone应用程序中使用什么代码来获取和设置我写的另一个应用程序的设置?(最好使用NSUserDefaults)

Mic*_*yan 5

你根本做不到.每个应用程序都安装在自己的文件夹中,并获得自己唯一的用户ID.包含这些设置的文件位于其他应用程序的文件夹中,其权限设置为其他应用程序的权限.访问数据的唯一方法是使用与其他应用程序相同的应用程序标识符,在这种情况下,安装应用程序将覆盖旧应用程序.

编辑:
这个解决方案是在问题要求使用NSUserDefaults时,特别是.对于更新的问题,提供的钥匙串方法或服务器方法都是合理的.


Dan*_*pos 5

你无法用NSUserDefaults解决这个问题.

Keychain虽然在其C-ness中有点麻烦,而且比NSUserDefaults API更有限,但可能允许您完成此任务.如果您可以将应用程序之间需要共享的内容序列化为几个字符串,那么可能值得尝试.

来自iPhone OS 3.x发行说明:

现在,您可以在创建的多个应用程序之间共享Keychain项目.共享项使同一套件中的应用程序更容易更顺畅地进行互操作.例如,您可以使用此功能来共享用户密码或其他可能需要您单独从每个应用程序提示用户的元素.

共享Keychain项目涉及在应用程序二进制文件中设置适当的权利.使用Xcode,您必须创建一个Entitlements属性列表文件,其中包含应用程序支持的权利.iPhone开发指南中介绍了创建此文件的过程.有关可以配置的权利的信息,请参阅Keychain Services Reference中的SecItemAdd功能的说明.

在运行时访问共享项涉及将Keychain Services编程接口与您在开发期间设置的访问组一起使用.有关如何访问Keychain的信息,请参阅Keychain Services Programming Guide.

这是Buzz Anderson的Simple iPhone Keychain Code.您可以使用它将键/值对存储为钥匙串中的字符串.它并不多,但也许总比没有好.有关更多信息,请参阅Apple的Keychain编程指南.