尝试在我的应用程序中提取设备令牌时,我感到非常难过。到目前为止,我有
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//register for push notifications
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
接着
-(void)application:(UIApplication *)app didRegisterForRemoteNotificationsWith:DeviceToken:(NSData *)deviceToken
{
NSString *str = [deviceToken description];
NSLog(@"%@", str);
}
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(@"Failed to get token, error: %@", error);
}
这是交易。
我的 iOS 模拟器:我明白了
Failed to get token, error: Error Domain=NSCocoaErrorDomain Code=3010 "remote notifications are not supported in the simulator" UserInfo=0x5813d20 {NSLocalizedDescription=remote notifications are not supported in the simulator}
正如预期的那样。
在我运行 iOS 4.2 的第二代 iPod Touch 上,从来没有调用任何回调。我的同事运行 iOS 5.1.1 的 iPhone 4s 也是如此
最后,在运行 iOS.5.1.1 的另一位同事 iPhone 4 上,似乎返回设备令牌是“com.apple.mobileconfig”......这很奇怪。
我已验证我的设备上的应用程序已启用通知。我还验证了我的应用标识符包在 xCode 中的设置是否正确。
编辑:我不知道发生了什么,但是,在发布这个帖子几天后,我将 iPhone 4 插入我的 mac,设备令牌回调刚刚开始在调试模式下工作,然后也在其他人的设备上工作。我对配置文件进行了一些更改(必须添加新设备的 UDID 等),这样可能会出现一些故障。不太确定。
EDIT2:在 didRegister 回调中似乎有一个额外的冒号,就在DeviceToken
...