/ / Token verlieren und die Benachrichtigung geht nur an das Telefon und nicht an die App (post ios10-Updates) - ios, token, ios10, Remote-Benachrichtigungen

Token irgendwie zu verlieren und Benachrichtigung geht nur an Telefon und nicht an App (post ios10 Updates) - ios, token, ios10, remote-Benachrichtigungen

Ich habe meine App für ios10 aktualisiert und habe die erforderlichen Änderungen vorgenommen, um Code zwischen ios10 und darunter aufzuteilen, um die richtigen Methodenaufrufe zu treffen.

Es scheint richtig zu funktionieren. Ich habe einen bestimmten App-Sound, der mir mitteilt, dass der Remote-Push von der App verarbeitet wurde, als würde der Standardgerätsound verwendet.

Bei der Installation auf dem Testgerät ist alles korrekt. Aber gelegentlich und scheinbar zufällig verliere ich an meinem Gerät einen app-basierten Push-Empfang.

Ich verwende IOS Console, um es anzusehen, und es scheint zu berichten, dass ein "völlig unbekannter" Token empfangen wurde. Es funktioniert auf meinem Pre-ios10-Gerät.

Ich weiß nicht, wie ich feststellen kann, was falsch ist, da alle am Anfang richtig funktionieren.

Ich vermute im Moment, dass meine Abschlussverarbeitung möglicherweise nicht korrekt ist und iOS10 meine App bestraft.

Ich werde die Frage so bearbeiten, wie ich kann, wenn ich mehr Ahnung habe, aber dies ist derzeit sehr mühsam.

Antworten:

0 für die Antwort № 1

Haben Sie sich für die Push-Benachrichtigung angemeldet?

#define SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

if(SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(@"10.0")){
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
center.delegate = self;
[center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){
if( !error ){
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
}];
}

return YES;
}

Wurden Sie für die folgenden Delegatmethoden implementiert?

-(void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void(^)())completionHandler{

//Called to let your app know which action was selected by the user for a given notification.

NSLog(@"Userinfo %@",response.notification.request.content.userInfo);

}

Und kannst du das überprüfen? Faden für mehr Hinweis

iOS 10 und 9 folgen einer unterschiedlichen Nutzlaststruktur.

Das iOS 10 folgt

 {
"aps":{
"alert":{
"body":"YOUR_MESSAGE."
},
"badge":1
},
“YOUR_VARIABLE” : "YOUR VALUE"
}

wo folgt iOS <9

{
“aps” :     {
“alert” : "YOUR_MESSAGE.”,
“badge” : 1,
“sound” : “default”
},
“YOUR_VARIABLE” : "YOUR VALUE"
}

Ich denke, das könnte das Problem sein