如果通过电缆或网络从xcode安装,则注册设备推送令牌的差异值

时间:2014-10-16 12:43:13

标签: ios xcode apple-push-notifications

我发生了一件非常奇怪的事情。 我正在DB中注册设备令牌以进行推送服务。 使用

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    NSLog(@"===============didRegisterForRemoteNotificationsWithDeviceToken=============");

    NSLog(@"My token is: %@", deviceToken);
    // Prepare the Device Token for Registration (remove spaces and < >)
    NSString *devToken = [[[[deviceToken description]
                            stringByReplacingOccurrencesOfString:@"<"withString:@""]
                           stringByReplacingOccurrencesOfString:@">" withString:@""]
                          stringByReplacingOccurrencesOfString: @" " withString: @""];

    NSLog(@"My token is: %@", devToken);
}

作为我的代码。 现在,当我在Xcode上运行应用程序时,我得到一个这样的标记:

78bb45dc391bf920f5f5b2ac188ffb2bebfb5e1163e89a4482c56c32f02e092f

我的应用效果很好。

当我通过网络安装相同的应用程序(testflight或Diawi)时,我得到一个这样的令牌:

e61c305464731d8d5302db2289b01d18621fb5fad04683dd81ffad6961d60213

并且未在设备上接收推送。

任何想法这里发生了什么????

3 个答案:

答案 0 :(得分:1)

通过diawi无线安装安装app时,我也面临同样的问题。

作为我的解决方案(在我的情况下),问题在于Xcode 6.1。

如果你的机器上有Xcode 5而不是在Xcode 6中存档项目,而不是从Xcode 5的组织者那里创建构建。

此解决方案对我有用,我现在正在收到推送通知。

答案参考:xcode 6 beta 2 issue with exporting ipa "Your account already has a valid iOS distribution certificate"

答案 1 :(得分:0)

当您直接从xocde安装应用程序时,它可能是开发者提供配置文件。当您从Testflight或Diawi安装应用程序时,它是具有分发配置文件的应用程序。

设备令牌对于开发人员和分发配置文件是不同的。如果您的应用程序与开发人员配置文件工作正常,那么这意味着您的服务器此刻具有开发APNS配置。

您还需要将服务器代码更新为分发配置以接收推送通知。在配置中,主要需要在服务器代码中升级APNS证书和APNS URL。

我希望它可以解决你的问题

答案 2 :(得分:0)

当从xcode 6及更高版本生成ipa并生成diawi链接时,我面临同样的问题,但现在当我从xcode 5而不是从6开始生成ipa时,它对我有用。

我不知道为什么会这样。

我遇到的另一个问题是: Device Tocken will Change after install from diawi or TestFlight? So Push notification is not coming