我发生了一件非常奇怪的事情。 我正在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
并且未在设备上接收推送。
任何想法这里发生了什么????
答案 0 :(得分:1)
通过diawi无线安装安装app时,我也面临同样的问题。
作为我的解决方案(在我的情况下),问题在于Xcode 6.1。
如果你的机器上有Xcode 5而不是在Xcode 6中存档项目,而不是从Xcode 5的组织者那里创建构建。
此解决方案对我有用,我现在正在收到推送通知。
答案 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