允许不显示推送通知弹出窗口

时间:2018-04-02 17:00:57

标签: ios push-notification

我已经为Android和IOS开发了一个应用程序,可以使用手机间隙推送插件接收推送通知。当我在Android设备上部署应用时,我能够接收推送通知。但是,当我在IOS上部署应用程序并首次运行应用程序时。我没有收到弹出窗口"允许推送通知",这将允许应用程序接收推送通知的权限。我想知道是否有人早先遇到过这个问题,或者有任何想法来解决这个问题。 我在网上关注了几个帖子,但无法找到与此相关的任何内容。根据我的理解,默认情况下应该通过插件显示弹出窗口。

先谢谢。

1 个答案:

答案 0 :(得分:0)

如果您使用Objective-C,请使用以下代码:

//  AppDelegate.m
@import UserNotifications;

之后,在方法“didFinishLaunchingWithOptions”中添加以下代码:

if( SYSTEM_VERSION_LESS_THAN( @"10.0" ) )
{
    [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound |    UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
    [[UIApplication sharedApplication] registerForRemoteNotifications];

    if( optind != nil )
    {
        NSLog( @"registerForPushWithOptions:" );
    }
}
else
{
    UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
    center.delegate = self;
    [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error)
     {
         if( !error )
         {

             NSLog( @"Push registration success." );
         }
         else
         {
            NSLog(@"Something went wrong");
         }
     }];
}

如果您使用swift,请阅读此https://useyourloaf.com/blog/local-notifications-with-ios-10/。我认为这对你很有帮助。