我是iphone技术的新手,现在我正在使用我需要实现推送通知的应用程序。
我按照链接:
http://mobiforge.com/developing/story/programming-apple-push-notification-services#comment-7850
另外,使用以下代码:
NSLog(@"Registering for push notifications...");
[[UIApplication sharedApplication]
registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeAlert |
UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound)];
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSString *str = [NSString stringWithFormat:@"Device Token=%@",deviceToken];
NSLog(str);
}
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
{
NSString *str = [NSString stringWithFormat: @"Error: %@", err];
NSLog(str);
}
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
for (id key in userInfo)
{
NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);
}
}
事情是,当我运行程序时,我应该在调试器窗口中获取设备令牌,根据代码,我得到的错误如下:
“注册时出错。错误:错误 Domain = NSCocoaErrorDomain Code = 3010 “远程通知不是 在模拟器中支持“ 的UserInfo = 0x6e055a0 {NSLocalizedDescription =远程 。不支持通知 模拟器}“
我该如何解决这个问题?
请帮助我。
谢谢。
答案 0 :(得分:4)
错误消息是自我解释,你应该尝试在真实设备上调试不在模拟器上的应用,因为不支持在模拟器上接收推送通知。
答案 1 :(得分:4)
因为模拟器不支持它...在示例中,它在控制台中显示设备标识符。控制台正在显示设备的反馈。获取信息的不是控制台,而是设备发回信息。因此,仅仅因为控制台在Mac上显示信息并不意味着您的Mac能够直接获取该信息。有时它必须由设备发送。尝试在设备上运行它。