环境: 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插件会自动打开功能“Backround Modes - >远程通知“。
在这里,你可以看到ios app的两种情况:
在xCode中运行app ...确定无法找到MFP push lib,但这很清楚原因。
在xCode中没有启用其他选项
控制台输出
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中的配置:
答案 0 :(得分:0)
我想在旧的cordova项目中已经 。
感谢致@Idan Adar和@Vivin K的反馈意见。
我做了以下步骤,再次推送,让ios设备上的cordova应用程序运行。
我在github.com/MobileFirst-Platform-Developer-Center/...上用cordova做了样本。此示例有效。
我将所有需要的插件添加到工作的cordova推送项目的副本中:
IBMs-MBP:MobileClientV4 tsuedbroecker $ ./add-cordova-plugins.sh - >开始添加cordova插件 ****** app-preferences ********* 获取插件" cordova-plugin-app-preferences"通过npm 安装" cordova-plugin-app-preferences"对于ios 未找到app-settings.json:创建示例文件 保存了" cordova-plugin-app-preferences"的插件信息。到config.xml ******相机********* 获取插件" cordova-plugin-camera"通过npm 安装" cordova-plugin-camera"对于ios 获取插件" cordova-plugin-compat"通过npm 安装" cordova-plugin-compat"对于ios 已保存的插件信息为" cordova-plugin-camera"到config.xml ****** compat ********* 插件" cordova-plugin-compat"已安装在ios上。使它成为顶级。 已保存的插件信息为" cordova-plugin-compat"到config.xml ****** 安慰 ********* 获取插件" cordova-plugin-console"通过npm 安装" cordova-plugin-console"对于ios 已保存的插件信息为" cordova-plugin-console"到config.xml ******设备********* 插件" cordova-plugin-device"已安装在ios上。使它成为顶级。 保存了#34; cordova-plugin-device"的插件信息。到config.xml ******对话********* 插件" cordova-plugin-dialogs"已安装在ios上。使它成为顶级。 保存了#34; cordova-plugin-dialogs"的插件信息。到config.xml ******地理位置********* 获取插件" cordova-plugin-geolocation"通过npm 安装" cordova-plugin-geolocation"对于ios 依赖插件" cordova-plugin-compat"已安装在ios上。 已保存的插件信息为" cordova-plugin-geolocation"到config.xml ****** 全球化 ********* 插件" cordova-plugin-globalization"已安装在ios上。使它成为顶级。 已保存的插件信息为" cordova-plugin-globalization"到config.xml ****** inappbrowser ********* 获取插件" cordova-plugin-inappbrowser"通过npm 安装" cordova-plugin-inappbrowser"对于ios 已保存的插件信息为" cordova-plugin-inappbrowser"到config.xml ****** spinner-dialog ********* 获取插件" cordova-plugin-spinner-dialog"通过npm 安装" cordova-plugin-spinner-dialog"对于ios 保存了#34; cordova-plugin-spinner-dialog"的插件信息。到config.xml ****** okhttp ********* 获取插件" cordova-plugin-okhttp"通过npm 安装" cordova-plugin-okhttp"对于ios 已保存的插件信息为" cordova-plugin-okhttp"到config.xml ****** list cordova插件********* 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"通知" cordova-plugin-geolocation 2.2.0" Geolocation" cordova-plugin-globalization 1.0.3"全球化" 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 - 推送通知" cordova-plugin-okhttp 2.0.0" OkHttp" cordova-plugin-spinner-dialog 1.3.1" SpinnerDialog" cordova-plugin-splashscreen 3.2.2" Splashscreen" cordova-plugin-whitelist 1.2.2" Whitelist" ****** cordova准备********* ios设置包已成功生成 - >添加cordova插件DONE!
我将旧项目中的 www 和资源文件夹复制到工作的cordova项目中。
我还将 Ionic项目文件从我的旧项目复制到了工作的cordova项目中。
结果如下:
*********步骤***********