Objective-C
iOS
Notification
observer
デバイス

[iOS][Objective-C]デバイスの操作時にpostされるNotificationのobserver登録

More than 1 year has passed since last update.

デバイスの横のボリュームボタンを押下された時に呼び出される処理について

iOSで開発している最中にデバイスの操作を扱う時がある。
その際によく使うものを書いていこうと思いました。
他にもお勧めがあれば教えてください。

SampleViewController.m
target : iOS 8.0

@property (nonatomic,weak) IBOutlet UISlider *systemVolumeSlider;

- (void)viewDidLoad {

// 他の処理

// デバイス横のボリュームボタンを押下時にpostされるNotificationの、observer登録
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(systemVolumeDidChangeNotification:)
                                                 name:@"AVSystemController_SystemVolumeDidChangeNotification"
                                               object:nil];
// 他の処理

}
// デバイス音量が変更されたときに呼ばれる
- (void)systemVolumeDidChangeNotification:(NSNotification *)notification
{
    // 画面側スライダーを更新
    float volume = [[[notification userInfo] objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"] floatValue];
    self.systemVolumeSlider.value = volume;
}