ios - 一旦我更改了 Settings Bundle 中的设置,我的应用程序能否同时获得更改?

标签 ios background nsuserdefaults synchronized settings-bundle

我知道我可以在我的应用程序进入前台时同步 NSUserDefaults。但它不能满足我的要求,我希望一旦我在设置包中更改设置,我的应用程序的音量可以同时更改,即使它在后台运行也是如此。

最佳答案

我认为,当应用程序在后台运行时,您不能更改音量(即使是手动)!

但是,当应用从后台唤醒时,您可以使用 NSUserDefaultsDidChangeNotification

检测音量设置更改

例子:

-(void)viewDidAppear:(BOOL)animated{

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

- (void)viewDidDisappear:(BOOL)animated{

    [[NSNotificationCenter defaultCenter] removeObserver:self];

}

-(void)defaultsSettingsChanged{

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    if([[defaults stringForKey:@"speech"] isEqualToString:@"0"])
    {
        speech.hidden = YES;
    }
} 

关于ios - 一旦我更改了 Settings Bundle 中的设置,我的应用程序能否同时获得更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13263413/

相关文章:

android - 基于主题的LinearLayout背景

ios - Objective-c:如何正确地向 UITableView 添加更多行

java - Swing 中的背景问题,没有 Netbeans

ios - Info.plist 实用程序错误 : "Info.plist couldn' t be opened because there is no such file"

javascript - 可以更改背景颜色 onClick,然后在一秒钟后自动变回吗?

ios - 如何在应用程序中保存用户名和密码,以便我们不需要登录应用程序?

ios - UserDefaults 不使用 Swift 保存

iphone - NSUserDefaults 到 Apple Watch

ios - 当前目标在 web View 中的 Facebook 授权期间 Conceal facebook ok 按钮

ios - 实现不同的单元类型