对于 cordova Push Plugin,如何将 iOS 应用从开发模式更改为分发模式

Posted

技术标签:

【中文标题】对于 cordova Push Plugin,如何将 iOS 应用从开发模式更改为分发模式【英文标题】:For cordova PushPlugins, how to change from developement mode to distribution mode for iOS apps 【发布时间】:2015-03-24 13:47:07 【问题描述】:

我完成了使用 PushPlugins 创建基于 phonegap 的 ios 应用程序。 我以 开发模式(不是分发模式)浏览了 iOS 推送插件的所有配置文件、p12、证书等。

现在我准备在应用商店中分发我的应用程序,但是我在从开发模式转换时遇到问题 -> 关于 PushPlugins 的分发模式。 我在这个谷歌上花了很多天,但我无法把事情弄好。

我按照这些步骤在 iPhone 中实现 APN 通知。

    http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1

    https://github.com/phonegap-build/PushPlugin

这是我为分发模式所做的。

    在 Mac 上打开 Keychain Access 并选择菜单选项向证书颁发机构请求证书 将私钥保存为 MyAppNameHere.p12

    创建新的 AppID 为:

    应用 ID 说明:MyAppName 应用服务检查推送通知复选框 显式应用 ID:com.mycompanynamehere.myappnamehere

    将 iOS 证书添加到这个新创建的应用 id

    制作 .pem 文件

    penssl x509 -in aps_production.cer -inform der -out myappCERT.pem openssl pkcs12 -nocerts -out myappKEY.pem -in MyAppNameHere.p12

    cat myappCERT.pem myappKEY.pem -> ck.pem

    为 App Store 创建了新的配置文件

    将此配置文件添加到 Xcode。

我能够使用 aps_development.cer 完成工作,但无法使用 aps_production.cer 做同样的事情

谁能给我这方面的好教程? Phonegape + PushPlugins 用于分发目的。

【问题讨论】:

你能解释一下这部分吗? “我能够使用 aps_development.cer 让事情正常工作,但无法使用 aps_production.cer 做同样的事情” 我通过:developer.apple.com 获得了 aps_production.cer(也是 aps_development.cer) -> 创建了新的 App ID -> 创建新的 App ID 后,点击编辑 -> 向下滚动到推送通知部分( Apple Push Notification 服务 SSL 证书)-> 有两种类型:开发 SSL 证书和生产 SSL 证书。我单击了“生产 SSL 证书”部分的“创建证书”。 -> 上传 CSR 文件。(选择保存在 Mac 上的 .certSigningRequest 文件。)。这样做,我下载了 aps_production.cer 在此之前,我使用“开发 SSL 证书”-> 下载了 aps_development.cer 并完成了上述链接的其余教程,并且能够发送和接收 APN 通知.但使用 aps_production.cer 并不成功 您必须在生产模式下安装应用程序才能使生产证书正常工作。您可以将应用上传到 iTunes Connect 并将其安装为 betatester,或者将其上传到您自己的服务器作为临时分发版或使用 iTunes 安装 谢谢。我会试试的。如果我将我的应用作为临时上传,我仍然可以在将其完全上传到应用商店之前再次测试 APN 通知,对吗? 【参考方案1】:

根据 jcesarmobile 的 cmets, “您必须在生产模式下安装应用程序才能使生产证书正常工作。您可以将应用程序上传到 iTunes 连接并将其安装为 betatester,或者将其作为临时分发上传到您自己的服务器或使用 iTunes 安装" 这解决了我的情况

【讨论】:

以上是关于对于 cordova Push Plugin,如何将 iOS 应用从开发模式更改为分发模式的主要内容,如果未能解决你的问题,请参考以下文章

cordova phonegap-plugin-push v1.x - 如何使其与 Android 8.1(API 级别 27)一起使用

安装“cordova-plugin-mfp-push”后无法在设备上运行

Cordova 5.3.3 Android Push-Plugin Eclipse - 缺少包

推送到 iOS 时,使用 Cordova 和 Phonegap Push Plugin 在应用服务器上获取 invalidRegistration

Gradle "com.android.dex.DexException" 构建一个涉及 cordova-plugin-googlemaps 和 ibm-mfp-push 插件的应

phonegap-plugin-push设置启动