2015年

5月

27日

Apple Watch バックグラウンドLocal通知 UIAlertController 表示

activateModeがBackgroundに指定されている場合のUIAlertControllerの記述です。

// バックグラウンドLocalNotification

- (void)application:(UIApplication *)application

didReceiveLocalNotification:(UILocalNotification *)notification{

    

    NSLog(@"バックグラウンド");

    

    // コントローラを生成

    UIAlertController * ac =

    [UIAlertController alertControllerWithTitle:@"受け取りました"

                                        message:notification.alertBody

                                 preferredStyle:UIAlertControllerStyleAlert];

    

    // Cancel用のアクションを生成

    UIAlertAction * cancelAction =

    [UIAlertAction actionWithTitle:@"Cancel"

                             style:UIAlertActionStyleCancel

                           handler:^(UIAlertAction * action) {

                               // ボタンタップ時の処理

                               NSLog(@"Cancel button tapped.");

                           }];

    

    // OK用のアクションを生成

    UIAlertAction * okAction =

    [UIAlertAction actionWithTitle:@"OK"

                             style:UIAlertActionStyleDefault

                           handler:^(UIAlertAction * action) {

                               // ボタンタップ時の処理

                               NSLog(@"OK button tapped.");

                           }];

    

    // コントローラにアクションを追加

    [ac addAction:cancelAction];

    [ac addAction:okAction];

    

    // AppDelageteの中で表示するアラート表示処理

    [self.window.rootViewController presentViewController:ac animated:YES completion:nil];

    

    // ViewController で presentViewControllerで表示するアラート表示処理

    //[self presentViewController:ac animated:YES completion:nil];

}

  

目 次