web-dev-qa-db-fra.com

Ne pas recevoir de notification Push sur l'iPhone

J'ai créé un exemple d'application PushTest pour Push Notification à l'aide de ce tutoriel

Et en utilisant le tutoriel ci-dessus, j'ai reçu le message que 'PushTest' aimerait vous envoyer une notification Push (une seule fois) et que je supprime ensuite l'application de l'iPhone, redémarre l'iPhone mais ne peut plus recevoir le même message.

J'ai exécuté le script sample.php (mettant à jour les modifications suggérées) et obtenu le message "connecté à APNS" et "votre message à envoyer".

Mais je n'ai reçu aucune notification Push.

S'il vous plaît guide-moi où je me trompe?
Ou quelle chaussure j'essaie de recevoir une notification Push.

19
Idiot

Vous ne recevrez pas Push uniquement dans 2 cas

1.) Si votre application est au premier plan.

2.) votre jeton de périphérique n'est pas valide pour recevoir la notification Push, veuillez cocher la case si vous ne recevez toujours pas la notification Push, veuillez me le faire savoir . Merci

29
Divyam shukla

Assurez-vous que vous utilisez le profil de provisioning activé pour les notifications Push. puis vérifiez si vous envoyez un jeton au serveur. 

6
Saqib Saud

J'ai suivi le même tutoriel.

Assurez-vous que votre application est répertoriée dans le centre de notification et que son type d'alerte est tout sauf rien.

Vous devez vérifier votre notification dans 3 conditions,

Lorsque votre application est ouverte, en arrière-plan et fermée.

Pour cela, vous devez vérifier ces méthodes

// 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

Veuillez vérifier dans Paramètres de votre appareil si les notifications de l'application sont activées et assurez-vous que le type de notification n'est pas "Aucune" dans Centre de notifications .

1
Yogi

Assurez-vous de bien sélectionner le bon profil de provision  provision profile

et que votre application est minimisée. Si l'application n'est pas minimisée, utilisez

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

Autres informations utiles sur les problèmes.

Vous pouvez utiliser APN Tester Free .Attention: insérez un jeton AVEC des espaces.

1
Nik Kov

Je ne recevais rien dans:

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

Mais mon compilateur s'est arrêté sur un point d'arrêt dans 

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