从iPhone应用程序编辑我的应用程序settings.bundle的设置

时间:2012-11-17 07:56:22

标签: objective-c ios settings.bundle

我在我的iPhone应用程序项目中创建了一个setting.bundle。它的工作正常。应用程序设置在iPhone默认设置应用程序中可见,带有应用程序图标和名称。

我还在我的应用程序中创建了一个UIViewController,其中包含与setting.bundle的Root.plist中相同的设置函数。

表示我在iPhone默认设置应用程序和我的应用程序设置viewcontroller中都有相同的设置视图。

当我在我的应用的iPhone默认设置中应用某些更改时,它反映了我的应用程序中来自NSNotification对象的更改。

但是当我在应用程序设置viewcontroller中进行一些更改时出现问题,我无法在iPhone默认设置应用程序中应用此更改。我希望两个设置页面同步工作。两个设置页面都需要相互反映它们的变化。

我发现的一个逻辑是: 需要在我的应用程序中修改settings.bundle的Root.plist,与应用程序设置viewcontroller并行。但如何修改它,如果我成功修改它,它会影响我的iPhone默认设置应用程序的设置吗?

第二:是否可以从应用程序向iPhone默认设置应用程序发送任何通知以更改其值?

帮我解决这个问题。

如果我没有成功解释你的问题,请问我。我将简要解释你。

提前致谢。

1 个答案:

答案 0 :(得分:4)

1)您可以通过编程方式更改设置应用的值。

您需要致电registerDefaults以编程方式更改设置值,如:

[defaults setObject:@"YES" forKey:@"Toggle];

存储设置,然后[defaults synchronize];以保存设置。

此处Toggle是为任何设置组件提供的标识符。

2)将您的类添加为NSUserDefaultsDidChangeNotification的观察者,如:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changed) name:NSUserDefaultsDidChangeNotification object:nil];

- (void) changed
{
  //change the app viewcontroller settings here
}

并在上面的方法中更改viewControllers设置。