【问题标题】:Read Device Token for iPhone Push Notification读取 iPhone 推送通知的设备令牌
【发布时间】:2012-07-18 10:15:24
【问题描述】:

我尝试在我的 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:找不到适用于应用程序 2012-07-18 的有效“aps-environment”权利字符串 14:18:08.597 Z2NotifyMe[1874:707] didFailToRegisterForRemoteNotificationsWithError:Error 域=NSCocoaErrorDomain 代码=3000 "没有有效的 'aps-environment' 找到应用程序的权利字符串” UserInfo=0x11fee0 {NSLocalizedDescription=没有有效的“aps-environment”权利字符串 为应用找到}

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

请帮忙解决这个问题。

谢谢..

【问题讨论】:

  • 您是否尝试从头开始创建新的配置文件?您是否配置了您的 appId 以在供应门户中启用推送通知?
  • 是的,我在我的 Provisioning Portal 上启用了推送通知。

标签: iphone apple-push-notifications devicetoken


【解决方案1】:

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

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

applicationDidFinishLaunching: 方法中。

我希望您尝试使用的设备没有越狱。

【讨论】:

  • 是的,我已经将此代码放入 applicationDidFinishLaunching 但它返回相同的错误。
  • 我没有尝试越狱方法。
  • 您是否创建了 SSL 证书?
  • didFailToRegisterForRemoteNotificationsWithError:找不到应用程序的有效“aps-environment”权利字符串
  • SSL证书创建不正确...请重新生成证书并重试..
【解决方案2】:

【讨论】:

  • 我已经在上面的链接中尝试过,但我得到了类似的错误——没有为应用程序找到有效的“aps-environment”权利字符串
  • didFailToRegisterForRemoteNotificationsWithError:找不到应用程序的有效“aps-environment”权利字符串
  • 你能在 textEdit 中打开你的配置文件并找到 aps-environment。如果你的配置文件不包含这个,那么你的配置文件没有正确设置推送通知。尝试在这种情况下重新创建您的配置文件。
【解决方案3】:

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

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

【讨论】:

  • 我尝试了上述步骤,我得到了同样的错误...... didFailToRegisterForRemoteNotificationsWithError:no valid 'aps-environment' entitlement string found for application
  • 如果您有任何解决此错误的想法 -- didFailToRegisterForRemoteNotificationsWithError:no valid 'aps-environment' entitlement string found for application
  • 不是真的,可能有很多我不知道的小问题,比如 xcode 中的项目设置。所以我对你的建议是,在 Xcode 中创建一个新项目并从头开始进行所有推送配置。我认为你会花更少的时间来解决你的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 2011-12-30
  • 1970-01-01
相关资源
最近更新 更多