Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 模拟器上没有对设备令牌请求的响应_Ios_Push Notification_Apple Push Notifications_Ios Simulator - Fatal编程技术网

Ios 模拟器上没有对设备令牌请求的响应

Ios 模拟器上没有对设备令牌请求的响应,ios,push-notification,apple-push-notifications,ios-simulator,Ios,Push Notification,Apple Push Notifications,Ios Simulator,我是iphone技术的新手,现在我正在使用一个需要实现推送通知的应用程序 我点击了链接: 此外,还使用了以下代码: NSLog(@"Registering for push notifications..."); [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadg

我是iphone技术的新手,现在我正在使用一个需要实现推送通知的应用程序

我点击了链接:

此外,还使用了以下代码:

 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]);
    }    
}
问题是,当我运行程序时,我应该按照代码在调试器窗口中获取设备令牌,相反,我得到的错误如下:

“注册时出错。错误:错误” 域=NSCOCAERROR域代码=3010 “远程通知不可用 “在模拟器中支持” UserInfo=0x6e055a0 {NSLocalizedDescription=远程 中不支持通知 模拟器}”

我应该如何解决这个问题

请帮帮我


谢谢。

错误消息是自我解释的,您应该尝试在真实设备上而不是模拟器上调试应用程序,因为模拟器不支持接收推送通知。

因为模拟器不支持推送通知。。。在本例中,它在控制台中显示设备标识符。控制台正在显示来自设备的反馈。获取信息的不是控制台,而是发送回信息的设备。因此,仅仅因为控制台在Mac电脑上显示信息并不意味着Mac电脑能够直接获取这些信息。有时它必须由设备发送。尝试在设备上运行它。

确实如此,但是如果您检查我提到的链接,您会发现在所示的示例中,令牌号是在调试器本身中获取的。那么,获取相同数据的方法应该是什么?@Sarah请在设备上调试,仅此而已。你不能在模拟器上测试推送通知。好的。我不知道。无论如何,谢谢你的解释。我在Madhup的回答后发布了这篇文章,主要是因为你似乎对debuggin控制台的功能有些困惑。是的,这都让人困惑。谢谢你的回答@biker