it-swarm.dev

在iPhone中没有收到任何推送通知

我使用 本教程 为推送通知制作了一个示例PushTest应用程序。

使用上面的教程,我收到消息“PushTest”想要发送推送通知(只需一次),之后我从iPhone删除应用程序,重新启动iPhone但无法再次收到相同的消息。

我已经运行了脚本sample.php(更新建议的更改)并得到消息'连接到APNS'和'你的消息发送'。

但我没有收到任何单一的推送通知。

请指导我哪里错了?
或者我尝试接受推送通知的内容。

19
Idiot

仅在2种情况下您不会收到Push

1.)如果您的应用程序在前台。

2.)您的设备令牌无法接收推送通知请检查两种情况如果您仍然没有收到推送请告诉我。谢谢

29
Divyam shukla

确保您使用的是启用推送通知的配置文件。然后检查是否要将令牌发送到服务器。

6
Saqib Saud

我遵循了同样的教程。

确保您的应用程序列在通知中心,并且它的警报类型是任何东西,但不是没有。

你需要在3个条件下检查你的通知,

当您的应用程序处于打开状态,后台打开以及关闭时.

为此,您需要检查这些方法

// To Register your device token
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken

//If your app is not able to register
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{}

//Your app receives Push notification.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{

    UIApplicationState state = [application applicationState];

    // If your app is running
    if (state == UIApplicationStateActive)
    {

        //You need to customize your alert by yourself for this situation. For ex,
        NSString *cancelTitle = @"Close";
        NSString *showTitle = @"Get Photos";
        NSString *message = [[userInfo valueForKey:@"aps"] valueForKey:@"alert"];
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@""
                                                            message:message
                                                           delegate:self
                                                  cancelButtonTitle:cancelTitle
                                                  otherButtonTitles:showTitle, nil];
        [alertView show];
        [alertView release];

    }
    // If your app was in in active state
    else if (state == UIApplicationStateInactive)
    {
    }
}
2
Baby Groot

请检查您的设备的 设置 如果应用程序的通知已开启,并确保通知的类型不是 通知中心

1
Yogi

确保您选择了正确的供应资料 provision profile 

并且您的应用程序已最小化。如果app没有最小化使用

 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    NSLog(@"info %@", userInfo);
}

其他 有用的信息 关于问题。

对于TESTING推送,您可以使用 APN Tester Free 注意: 插入带空格的标记。

1
Nik Kov

我没有得到任何东西:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any])

但我的编译器在断点处停止了

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
0
Mantas Laurinavičius