我尝试在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和我的设备中的所有旧证书,然后重新创建所有证书,然后在相同的代码上执行它返回相同的错误。
请帮助解决这个问题。
谢谢..
答案 0 :(得分:0)
使用以下代码注册您的设备:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
在applicationDidFinishLaunching:
方法中。
我希望您尝试的设备不是越狱。
答案 1 :(得分:0)
当您的代码签名标识未启用推送通知时,会出现此问题。 看看这个链接:
http://mobiforge.com/developing/story/programming-apple-push-notification-services
http://blog.martinreichart.com/2010/01/getting-iphone-push-notifications-to-work/
答案 2 :(得分:0)
当我正确完成所有步骤时,我遇到了类似的问题,但我仍然遇到此错误。
尝试执行以下步骤,它帮助了我:
1)转到您的配置文件 - >供应
2)按"编辑"您的应用配置资料附近右侧的按钮 - >然后修改
3)在这里做一些改变,改变是什么并不重要,这只是为了触发新的配置文件。取消选择其中一个设备,或更改名称,您可以稍后再更改
4)按"提交"按钮
5)下载配置文件并将其拖到Xcode。 (之前删除Xcode中的旧配置文件)