Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.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
Iphone 配置配置文件+;推送通知+;生产与发展_Iphone_Ios_Push Notification_Provisioning_Apple Push Notifications - Fatal编程技术网

Iphone 配置配置文件+;推送通知+;生产与发展

Iphone 配置配置文件+;推送通知+;生产与发展,iphone,ios,push-notification,provisioning,apple-push-notifications,Iphone,Ios,Push Notification,Provisioning,Apple Push Notifications,我正在构建一个使用推送通知的iOS应用程序,我终于准备好提交它了。在此之前,我想测试生产服务器上的推送通知,以确保一切正常。到目前为止,沙箱环境一直运行良好 在进行了大量搜索之后,我了解到从ssl://gateway.sandbox.push.apple.com:2195至ssl://gateway.push.apple.com:2195还不够,生产推送令牌不同于沙盒推送令牌。相反,显然我需要一个新的配置文件,其中包含生产授权、在我的服务器上安装的新证书,并使用该配置文件重新构建我的应用程序,以

我正在构建一个使用推送通知的iOS应用程序,我终于准备好提交它了。在此之前,我想测试生产服务器上的推送通知,以确保一切正常。到目前为止,沙箱环境一直运行良好

在进行了大量搜索之后,我了解到从
ssl://gateway.sandbox.push.apple.com:2195
ssl://gateway.push.apple.com:2195
还不够,生产推送令牌不同于沙盒推送令牌。相反,显然我需要一个新的配置文件,其中包含生产授权、在我的服务器上安装的新证书,并使用该配置文件重新构建我的应用程序,以便它知道如何创建正确的推送令牌

所以,在经历了所有步骤之后,我甚至不能在我的手机上运行构建;XCode说

无法在设备上安装此配置文件

以下是我采取的步骤。如果我遗漏了什么,请告诉我:

  • 在我的iOS开发者中心,我已经确保我的AppID在Apple推送通知服务下“启用生产”

  • 同样在我的iOS开发者中心,我创建了我的生产推送SSL证书,完成了必要的转换步骤,并在我的服务器上安装了生成的.pem

  • 按照说明,我创建了“一个新的配置文件,其中包含您希望用于通知的应用程序ID”。我通过转到“配置”,单击“分发”选项卡,并创建一个新配置文件来完成此操作。我已经确认“生产”设置在该配置文件的“权利”部分

  • 我已在项目设置中选择了配置文件。我明白了

    无法在设备上安装此配置文件

    我被卡住了


无法在设备上安装使用appstore分发(生产)配置文件编译的应用程序。只有苹果的评论家才能做到这一点。您只能在开发模式下编译并使用沙盒服务器的应用程序上测试推送。
如果要测试生产服务器,必须使用临时分发配置文件编译应用程序,以启用要执行测试的设备。显然,您必须使用app Store分发配置文件重新编译并发送应用以供审阅。

为您的应用构建一个临时分发版本,并将其安装在您自己的设备上。这将使用生产APN网关和证书。

我发现我可以安装一个内置于Xcode的应用程序,并带有应用程序商店分发配置文件(在调试配置文件下)。但是,调试器不会附加(这是应用商店生成所需的)。也就是说,我可以在iPad上启动这个应用程序,然后用这种方式测试产品推送通知设置。这听起来很奇怪。确实,你可以通过一个临时分发配置文件来实现这一点,但对我来说,你可以通过一个应用商店配置文件来实现这一点听起来很奇怪。你在使用越狱设备吗?不,不是越狱,尽管我可能会被弄糊涂,因为这很容易做到。:-)现在再次阅读我的评论,你似乎不太可能运行一个配置文件中没有UDID的应用程序。。。也许它仍然是使用特殊配置文件构建的,并且仍然从生产服务接收推送通知?您是否100%确定我们无法在生产服务器上测试推送通知?我有另一部iphone,它在另一个城市,我想用这个设备测试推送通知,我该怎么做?请告诉我。更新:如果有人找到这个旧答案,今天的解决方案是苹果的TestFlight。通过添加苹果TestFlight,您现在可以在上线前测试生产推送通知。您只需上传一个构建,然后将证书更改为生产证书(同时指向Apple live push而非沙盒)