ぜん通。

<ぜんつう>ネトゲとかソシャゲとか、雑記。

   

iOS8でのLocal通知。

iOS8から通知系がボタンやアクションの拡張がされているので、そのままの状態だとLocalNotificationが使えなくなるようです。

んで、iOS8から追加された通知用のカテゴリを実装して対応する必要があります。


//OSVer判定マクロ

#define SYSVER_OVER(x)     ([[[UIDevice currentDevice] systemVersion] compare:x options:NSNumericSearch] != NSOrderedAscending)



//アプリ起動時に通知タイプとカテゴリを作っておく

//毎回登録する必要なし

if (SYSVER_OVER(@"8.0")) {

// 通知のユーザー設定を登録

       UIUserNotificationType types = UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound;

       UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];

       [[UIApplication sharedApplication] registerUserNotificationSettings:mySettings];

       

// アクションの設定

       UIMutableUserNotificationAction *acceptAction = [[UIMutableUserNotificationAction alloc] init];

       acceptAction.identifier = @"COLTTO_LOCAL_NOTIFICATION"; //アクション設定の識別子:受信時の判定に使用

       acceptAction.title = @"Accept"; //ボタンタイトル。一つのアクションだけだと表示されない

       acceptAction.activationMode = UIUserNotificationActivationModeBackground; //アクション動作設定()

       acceptAction.destructive = NO; //強調設定

       acceptAction.authenticationRequired = NO; //ロック中に出すか?(beta6ではYES/NOどちらもまだ変わらないらしい)

       

// カテゴリ作成

       UIMutableUserNotificationCategory *inviteCategory = [[UIMutableUserNotificationCategory alloc] init];

       inviteCategory.identifier = @"INVITE_CATEGORY";

       [inviteCategory setActions:@[acceptAction] forContext:UIUserNotificationActionContextDefault];

   }

//通知を登録する際にiOS8以上ならカテゴリを指定する。

 UILocalNotification *localNotification = [[UILocalNotification alloc] init];

   [localNotification setFireDate:date];                                 // 日付

   [localNotification setTimeZone:[NSTimeZone defaultTimeZone]];         // タイムゾーン

   [localNotification setSoundName:UILocalNotificationDefaultSoundName]; // 音

   [localNotification setAlertAction:@"test"];

   [localNotification setAlertBody:text];


   if (SYSVER_OVER(@"8.0")) {

       localNotification.category = @"INVITE_CATEGORY"; //カテゴリ名を指定して設定

   }

   

   [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];




拍手[0回]

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

カウンター

マジモン窓

プロフィール

HN:
Zenchuu
性別:
男性
職業:
えんじにあ
自己紹介:
いわゆるオタク系。
HNのzenchuuは子供のころからのあだ名。
iPhoneアプリの制作〜運用を仕事にしてます。
人間強度は最高レベルだと自負。
友達?要らねーよヽ(´ー`)ノ

Twitter

いろいろ

Copyright ©  -- ぜん通。 --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS /  /