【发布时间】:2016-08-18 12:45:43
【问题描述】:
环境: MAC EL Capitan 10.11.6,xCode 版本 7.3.1,节点版本:v5.5.0,Cordova 版本:6.3.1,cordova-plugin-mfp-push 8.0.2016070407,MobileFirst Platform Foundation 命令行界面 (CLI):8.0。 0-2016070716
问题: 为什么在安装了 cordova-mfp-push 插件后,我不能在真实的 ios 设备上运行 cordova 应用程序? ios 应用程序在 ios 模拟器中运行。 谁有同样的问题,你是怎么发现的?
背景: 我有一个使用 mfp8 push 的 cordova 应用程序。
由于 Apple 认证过期问题 (https://developer.apple.com/support/certificates/expiration/),我不得不重新创建证书。
问题: 重新获得认证后,我尝试在我的设备上运行该应用程序。 但是我得到了认证错误。基于此,我尝试在我的 iOS 设备上运行其他 Cordova 应用程序,这是可能的。
基于此发现,我决定添加和删除 cordova 插件并检查此问题何时会出现。
发现: 我的发现是:当我添加了cordova-mfp-push插件后,xcode中就出现了认证问题。
我猜是因为cordova-mfp-push插件会自动开启“后台模式->远程通知”功能。
这里你可以看到ios应用的两种情况:
- 在将 cordova-mfp-push 添加到 cordova 应用程序之前:
在运行 xCode 的应用程序中...好的,找不到 MFP 推送库,但这很清楚原因。
在 xCode 中没有启用其他选项
- 将cordova-mfp-push 添加到cordova 应用程序后:
控制台输出
IBMs-MBP:MobileClientV3 tsuedbroecker$ cordova plugin add cordova-plugin-mfp-push --save
Fetching plugin "cordova-plugin-mfp-push" via npm
Installing "cordova-plugin-mfp-push" for android
Dependent plugin "cordova-plugin-mfp" already installed on android.
Installing "cordova-plugin-mfp-push" for ios
Dependent plugin "cordova-plugin-mfp" already installed on ios.
Saved plugin info for "cordova-plugin-mfp-push" to config.xml
IBMs-MBP:MobileClientV3 tsuedbroecker$ cordova prepare
Running command: /Users/tsuedbroecker/Documents/tsuedbro/MobileBluemix/dev/mfp8beta/CheckApp/MobileClientV3/hooks/after_prepare/010_add_platform_class.js /Users/tsuedbroecker/Documents/tsuedbro/MobileBluemix/dev/mfp8beta/CheckApp/MobileClientV3
add to body class: platform-android
add to body class: platform-ios
will push strings array {"name":"lang","titles":["English (US)","English (UK)"],"values":["en-us","en-gb"]}
android preferences file was successfully generated
ios settings bundle was successfully generated
IBMs-MBP:MobileClientV3 tsuedbroecker$ cordova plugin list
cordova-plugin-app-preferences 0.99.2 "AppPreferences"
cordova-plugin-camera 2.2.0 "Camera"
cordova-plugin-compat 1.0.0 "Compat"
cordova-plugin-console 1.0.3 "Console"
cordova-plugin-device 1.1.2 "Device"
cordova-plugin-dialogs 1.2.1 "Notification"
cordova-plugin-geolocation 2.2.0 "Geolocation"
cordova-plugin-globalization 1.0.3 "Globalization"
cordova-plugin-inappbrowser 1.4.0 "InAppBrowser"
cordova-plugin-mfp 8.0.2016080320 "IBM MobileFirst Platform Foundation"
cordova-plugin-mfp-push 8.0.2016070407 "IBM MobileFirst Platform Foundation - Push Notifications"
cordova-plugin-okhttp 2.0.0 "OkHttp"
cordova-plugin-spinner-dialog 1.3.1 "SpinnerDialog"
在设备上运行的问题:
插件在 xCode 中更改了配置:
【问题讨论】:
-
如果你再勾选这个选项?
-
当我把这个选项打勾时,还是一样的问题。
-
尝试在设备上运行时出现的“无法安装”问题看起来不是 cordova mfp 推送插件问题。您能否尝试在同一设备上运行本机 iOS 推送示例 - 使用相同的配置文件进行签名,您认为它有效吗?还是出现同样的错误信息?如果是这样,可能是证书没有更新的问题
-
所以,我确实下载了github.com/MobileFirst-Platform-Developer-Center/… 示例。设置认证。在 BX 上配置现有的 MFP8 服务器。示例在我的设备上运行,我可以从 MFP 服务器向我的设备发送推送。 ... swift 样本没问题
-
我复制了我的移动项目并重命名了科尔多瓦应用程序新捆绑 ID,创建新证书,添加到 mfp 服务器......仍然是同样的问题。只有在添加了 cordova-plugin-mfp-push 时才会出现问题。
标签: ios iphone xcode cordova ibm-mobilefirst