我开发了一个带推送通知服务的聊天应用程序。我在开发模式和adhoc模式下测试了它。每个设备都成功生成设备令牌。但在生产模式下,报告显示某些设备无法注册到APNS。我不知道它发生的原因。我正在测试的每个设备都已成功注册到APNS,但某些设备无法注册。有人有想法吗?我被困住了,无法找到背后的原因。我注册APNS的代码是 -
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIApplication sharedApplication]registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge|UIRemoteNotificationTypeSound ];
// Handle launching from a notification
UILocalNotification *locationNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (locationNotification) {
// Set icon badge number to zero
application.applicationIconBadgeNumber = 0;
}
//some other code//
return YES;
}
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken: (NSData *)deviceToken
{
globalManager.deviceToken = [[[[deviceToken description]
stringByReplacingOccurrencesOfString: @"<" withString: @""]
stringByReplacingOccurrencesOfString: @">" withString: @""]
stringByReplacingOccurrencesOfString: @" " withString: @""];
}
-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError: (NSError *)error
{
globalManager.deviceToken=nil;
NSLog(@"fail reg");
}
答案 0 :(得分:0)
正如@Andrey在上面的评论中指出的那样,你应该检查传递给你的app appate application:didFailToRegisterForRemoteNotificationsWithError:
的错误。它可能包含失败的原因。
此类失败的原因可能包括不允许您的应用使用推送通知,网络问题以及其他内容的用户。