Time for action – storing settings in NSUserDefaults

Right now, the audio settings are not saved across the game launches because we only save them in instance variables in memory. To fix this, we're going to save them in NSUserDefaults and load them when the game starts, as follows:

  1. Open the AudioManager.m file and add the following #define statements to define the keys we'll use to save and load the corresponding audio setting:
    #define kSoundKey @"AudioManager_Sound"
    #define kMusicKey @"AudioManager_Music"
  2. Scroll down to the toggleSound method and add the code to save the sound setting at the end of the method, right after it's changed:
    -(void)toggleSound
    {
        _isSoundEnabled = !_isSoundEnabled;
        
        [[NSUserDefaults standardUserDefaults]
     setBool:_isSoundEnabled ...

Get Learning iPhone Game Development with Cocos2D 3.0 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.