NSLocalNotification を使用してアプリでこれを行います
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
if (localNotification == nil)
return;
localNotification.fireDate = dateToRemindOn;
localNotification.timeZone = [NSTimeZone defaultTimeZone];
// details
localNotification.alertBody = @"Alert Message";
// Set the button title
localNotification.alertAction = @"View";
localNotification.soundName = UILocalNotificationDefaultSoundName;
// custom data for the notification to use later
NSDictionary *infoDict = [NSDictionary dictionaryWithObject:reminderID forKey:@"remindID"];
localNotification.userInfo = infoDict;
// Schedule notification
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
これにより、ローカル通知が作成され、ユーザー情報ディクショナリに必要な情報を保存できます。これは、受信または開いたときに使用できます。
AppDelegate でこのメソッドを使用して、アプリがローカル通知から開かれたかどうかを確認します。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Handle launching from a notification
UILocalNotification *localNotification =
[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotification) {
//handle local notification
}
}
アプリデリゲートでこのメソッドを使用して、アプリが開いているときにローカル通知を受信したときにキャッチします
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif {
// Handle notification when app is running
}