【发布时间】:2014-08-21 04:52:47
【问题描述】:
我开发了一个带有推送通知服务的聊天应用程序。我已经在开发模式和临时模式下对其进行了测试。每个设备都成功生成设备令牌。但是在生产模式下,报告说某些设备无法注册到 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");
}
【问题讨论】:
-
为什么不看看传递给 didFailToRegisterForRemoteNotificationsWithError 的错误?它会告诉你原因
-
好的,如果我在日志中打印该错误。那我怎么知道生产模式下的每个错误。
标签: objective-c iphone apple-push-notifications