如果我想在我的应用程序未在一周内打开以便回来播放之后发送推送通知,我是否需要获得用户的许可才能向他们发送此本地推送通知?
答案 0 :(得分:1)
在iOS 8中,您需要询问用户安排本地通知的权限。在iOS 8之前不需要它。
还有一件事,你必须知道推送通知和本地通知之间的区别。当您描述问题时,它会让人感到困惑。推送通知是从 APNs 服务器发送的。并且您的应用程序会安排本地通知。
答案 1 :(得分:0)
为此,您需要使用 Local notification 。您需要做的是在用户打开应用程序一周后安排本地通知。每次安排通知都会取消所有早期通知。
取消所有通知使用:
[[UIApplication sharedApplication] cancelAllLocalNotifications];
安排通知使用:
UILocalNotification* n1 = [[UILocalNotification alloc] init];
n1.fireDate = [NSDate dateWithTimeIntervalSinceNow: 60];
n1.alertBody = @"one";
UILocalNotification* n2 = [[UILocalNotification alloc] init];
n2.fireDate = [NSDate dateWithTimeIntervalSinceNow: 90];
n2.alertBody = @"two";
[[UIApplication sharedApplication] scheduleLocalNotification: n1];
[[UIApplication sharedApplication] scheduleLocalNotification: n2];
答案 2 :(得分:0)
是的,您只需要在iOS 8中注册本地通知。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
}
}