こんにちは、私はAppleAPNSを使用してRemoteNotificationを送信しています。私が見つけた問題は次のとおりです。
まず、RemoteNotificationを受信してから、メインページ(最初のページ)ではなく、他のページにジャンプします。私のコード:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
NSLog(@"remote notification: %@",[userInfo description]);
NSDictionary *apsInfo = [userInfo objectForKey:@"aps"];
NSString *alert = [apsInfo objectForKey:@"alert"];
NSLog(@"Received Push Alert: %@", alert);
NSString *sound = [apsInfo objectForKey:@"sound"];
NSLog(@"Received Push Sound: %@", sound);
NSString *badge = [apsInfo objectForKey:@"badge"];
NSLog(@"Received Push Badge: %@", badge);
application.applicationIconBadgeNumber = [[apsInfo objectForKey:@"badge"] integerValue];
if ([userInfo objectForKey:@"type"])
{
NSString *nsType = [userInfo objectForKey:@"type"];
NSLog(@"Received Push nsType: %@", nsType);
if([[userInfo objectForKey:@"type"] intValue]==1){//chat
[self JumpChatHistoryView];
}else{
[self JumpMessageDetailView];
}
}
application.applicationIconBadgeNumber = 0;
}
私のアプリはバックグラウンドに入り、システムによって強制終了されません。RemoteNotificationを受信してクリックすると、コードはOKで、他のビューにジャンプできます。しかし、アプリを強制終了したとき、RemoteNotificationを受け取ったときにクリックすると、他のビューはスキップされず、メインビューに入るだけで、解決方法がわかります。
さらに、LocalNotificationをキャンセルすると使用できます[[UIApplication sharedApplication] cancelLocalNotification:notification];
が、RemoteNotificationでは同じメソッドが見つかりません。どうすればいいですか?