0

アプリがフォアグラウンドに入ったときにNSUserDefaultsを同期できることはわかっています。しかし、それは私の要件を満たすことができません。設定バンドルで設定を変更すると、バックグラウンドで実行されている場合でも、アプリの音量が同時に変更される可能性があります。

4

1 に答える 1

2

アプリをバックグラウンドで実行すると(手動でも)音量を変更できないと思います!!。

ただし、アプリがバックグラウンドから復帰したときに音量設定の変更を検出するには、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;
    }
} 
于 2012-11-07T05:19:07.967 に答える