添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

在AppDelegate.m的didFinishLaunchingWithOptions函数里调用如下代码

[AVOSCloud setApplicationId:@"****"
clientKey:@"****"];
[AVAnalytics trackAppOpenedWithLaunchOptions:launchOptions];

但是,客户端始终无法弹出获取通知权限的对话框

// 申请通知权限
- (void)replyPushNotificationAuthorization:(UIApplication *)application{

if (IOS10_OR_LATER) {
    //iOS 10 later
    //获取单例对象
    UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
    //必须写代理,不然无法监听通知的接收与点击事件
    center.delegate = self;
    [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge | UNAuthorizationOptionSound | UNAuthorizationOptionAlert) completionHandler:^(BOOL granted, NSError * _Nullable error) {
        if (!error && granted) {
            //用户点击允许
            NSLog(@"注册成功");
        }else{
            //用户点击不允许
            NSLog(@"注册失败");
    // 可以通过 getNotificationSettingsWithCompletionHandler 获取权限设置
    //之前注册推送服务,用户点击了同意还是不同意,以及用户之后又做了怎样的更改我们都无从得知,现在 apple 开放了这个 API,我们可以直接获取到用户的设定信息了。注意UNNotificationSettings是只读对象哦,不能直接修改!
    [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {
        NSLog(@"========%@",settings);
}else if (IOS8_OR_LATER){
    //iOS 8 - iOS 10系统
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
    [application registerUserNotificationSettings:settings];
//向APNS注册
[application registerForRemoteNotifications];

在application: didFinishLaunchingWithOptions:入口函数中增加以上方法调用会弹出对应的权限提示对话框,系统设置-通知中也能找到对应的app

在application: didFinishLaunchingWithOptions:入口函数中增加以上方法调用会弹出对应的权限提示对话框,系统设置-通知中也能找到对应的app

你好,请问上述问题是已经解决了吗?