Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当从试飞运行时,iOS DidRegisterForRemotonifications返回不同的令牌_Ios_Objective C_Iphone_Xcode_Apple Push Notifications - Fatal编程技术网

当从试飞运行时,iOS DidRegisterForRemotonifications返回不同的令牌

当从试飞运行时,iOS DidRegisterForRemotonifications返回不同的令牌,ios,objective-c,iphone,xcode,apple-push-notifications,Ios,Objective C,Iphone,Xcode,Apple Push Notifications,我正在开发一个使用苹果推送通知的iPhone应用程序。我遵循了这里列出的步骤:当我通过Xcode连接设备运行应用程序时,我的设备会收到通知。但是,当我将应用程序上载到试飞时,该应用程序无法接收通知。经进一步调查,我发现该代币由 NSString * token = [NSString stringWithFormat:@"%@", deviceToken]; 当应用程序通过Xcode运行时是不同的,当它从试飞运行时也是不同的。为什么呢?我怎样才能修好它?我正在使用发送推送通知。您需要检查证书。

我正在开发一个使用苹果推送通知的iPhone应用程序。我遵循了这里列出的步骤:当我通过Xcode连接设备运行应用程序时,我的设备会收到通知。但是,当我将应用程序上载到试飞时,该应用程序无法接收通知。经进一步调查,我发现该代币由

NSString * token = [NSString stringWithFormat:@"%@", deviceToken];

当应用程序通过Xcode运行时是不同的,当它从试飞运行时也是不同的。为什么呢?我怎样才能修好它?我正在使用发送推送通知。

您需要检查证书。当您注册bundle id时,您可以选择生成两个配置文件和相应的两个推送通知证书dev和production。当您从Xcode以开发模式运行应用程序时,即当您运行的Xcode目标配置为获取指定的开发配置文件时,您的服务器需要使用从apple的沙盒服务器返回您令牌的开发/沙盒证书(这在您的情况下发生)。当您使用prod证书签署应用程序时,即在生成ipa时使用prod provisioning profile,您的服务器需要使用prod push证书。可能在您的情况下,您上载了使用prod证书签名的应用程序,服务器仍然使用dev证书。检查一下。祝您好运。

设备令牌可能会更改,因此您的应用程序需要在每次启动时重新注册。@vais:应用程序在每次启动时都会重新注册。检查此项,Avi的答案绝对正确。。