读取iPhone推送通知的设备令牌

时间:2012-07-18 10:15:25

标签: iphone apple-push-notifications devicetoken

我尝试在iPhone应用程序中实现推送通知。我已经为推送通知创建了Provisioning Profile和App-id,并将此证书添加到Xcode中。使用以下代码将iPhone设备连接到mac系统并通过设备构建应用程序以读取设备令牌。

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    NSLog(@"didRegisterForRemoteNotificationsWithDeviceToken:\n%@", deviceToken);
}

- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
    NSLog(@"didFailToRegisterForRemoteNotificationsWithError:%@", [error localizedDescription]);
}

但它返回错误..比如

  

didFailToRegisterForRemoteNotificationsWithError:找不到应用程序的有效'aps-environment'权利字符串2012-07-18   14:18:08.597 Z2NotifyMe [1874:707]   didFailToRegisterForRemoteNotificationsWithError:错误   Domain = NSCocoaErrorDomain Code = 3000“无效'aps-environment'   为应用程序“UserInfo = 0x11fee0”找到的权利字符串   {NSLocalizedDescription =没有有效的'aps-environment'权利字符串   找到应用程序}

我已删除Xcode和我的设备中的所有旧证书,然后重新创建所有证书,然后在相同的代码上执行它返回相同的错误。

请帮助解决这个问题。

谢谢..

3 个答案:

答案 0 :(得分:0)

使用以下代码注册您的设备:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

applicationDidFinishLaunching:方法中。

我希望您尝试的设备不是越狱。

答案 1 :(得分:0)

答案 2 :(得分:0)

当我正确完成所有步骤时,我遇到了类似的问题,但我仍然遇到此错误。

尝试执行以下步骤,它帮助了我:
1)转到您的配置文件 - >供应
2)按"编辑"您的应用配置资料附近右侧的按钮 - >然后修改
3)在这里做一些改变,改变是什么并不重要,这只是为了触发新的配置文件。取消选择其中一个设备,或更改名称,您可以稍后再更改 4)按"提交"按钮
5)下载配置文件并将其拖到Xcode。 (之前删除Xcode中的旧配置文件)