ねえ、
「ローカル」プッシュ通知を作成する方法を探しています。どうすればいいのかわからないので、助けを求めています。私が必要なのは:
皆さんの一人が私を助けてくれることを本当に願っています、ありがとう!
これは非常に簡単です。
1)アプリが閉じたら、24時間以内に起動するローカル通知をスケジュールします
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.fireDate = [[NSDate date] dateByAddingTimeInterval:60*60*24];
notification.alertBody = @"24 hours passed since last visit :(";
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
}
2)アプリが開かれている場合(ローカル通知が発生する前)、ローカル通知をキャンセルします
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
この目的のために ILocalNotification を使用できます。
そして、 IApplicationapplicationWillTerminate
およびapplicationDidEnterBackground
デリゲートを次のように実装します。
- (void)applicationWillTerminate:(UIApplication *)application
{
[self scheduleNotification];
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[self scheduleNotification];
}
- (void)scheduleNotification
{
UILocalNotification *locNot = [[UILocalNotification alloc] init];
locNot.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24];
[[UIApplication sharedApplication] scheduleLocalNotification: locNot];
}
アプリに入るときは、この通知をキャンセルする必要があります。したがって、applicationDidBecomeActive
を次のように実装します。
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}
UILocalNotification
は要件に適合します Apple doc