簡體   English   中英

安裝cordova-mfp-push插件后,為什么不能在真正的ios設備上運行cordova應用程序?

[英]Why can I not run a cordova app on a real ios device, after the installation of the cordova-mfp-push plugin?

環境: 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模擬器中運行。 誰遇到了同樣的問題,您如何找到它?

背景:我有一個Cordova應用程序,正在使用MF8推送。

由於Apple認證過期問題( https://developer.apple.com/support/certificates/expiration/ ),我不得不重新創建證書。

問題:重新獲得認證后,我嘗試在設備上運行該應用程序。 但是我得到了認證錯誤。 基於此,我嘗試在我的iOS設備上運行其他Cordova應用,這是可能的。

基於此發現,我決定添加和刪除cordova插件並檢查何時會出現此問題。

發現:我的發現是:當我添加cordova-mfp-push插件時,認證問題出現在xcode中。

我想原因是cordova-mfp-push插件會自動打開“背景模式->遠程通知”功能

在這里,您可以看到ios應用程序的兩種情況:

  1. 在將cordova-mfp-push添加到cordova應用之前:

在運行xCode的應用程序中……確定找不到MFP push lib,但這很清楚為什么。

在此處輸入圖片說明

在xCode中,沒有啟用其他選項

在此處輸入圖片說明

  1. 將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中更改了配置:

在此處輸入圖片說明

我想有什么東西在我的老科爾多瓦項目 打破

感謝 @Idan Adar和@Vivin K的反饋。

我做了以下步驟,以再次通過push在iOS設備上運行cordova應用程序。

  1. 我在github.com/MobileFirst-Platform-Developer-Center/…上用cordova進行了示例。 此示例有效。

  2. 我將所有需要的插件添加到了工作的cordova push項目的副本中:

    IBMs-MBP:MobileClientV4 tsuedbroecker $ ./add-cordova-plugins.sh->開始添加cordova插件****** app-preferences *********獲取插件“ cordova-plugin-app-通過npm設置“首選項”。找不到ios app-settings.json的“ cordova-plugin-app-preferences”安裝:創建示例文件將“ cordova-plugin-app-preferences”的插件信息保存到config.xml ***** *相機*********通過npm獲取插件“ cordova-plugin-camera”為ios安裝ios通過npm獲取插件“ cordova-plugin-compat”通過npm安裝“ cordova-plugin-compat”對於ios,將“ cordova-plugin-camera”的插件信息保存到config.xml ****** compat ********* ios上已安裝的插件“ cordova-plugin-compat”。 使它成為頂級。 將“ cordova-plugin-compat”的插件信息保存到config.xml ******控制台*********通過npm獲取插件“ cordova-plugin-console”安裝“ cordova-plugin-console”對於ios已將“ cordova-plugin-console”的插件信息保存到config.xml ******設備*********插件“ cordova-plugin-device”已安裝在ios上。 使它成為頂級。 將“ cordova-plugin-device”的插件信息保存到config.xml ******對話框********* ios中已安裝的插件“ cordova-plugin-dialogs”。 使它成為頂級。 將“ cordova-plugin-dialogs”的插件信息保存到config.xml ******地理位置*********通過npm獲取插件“ cordova-plugin-geolocation”安裝“ cordova-plugin-geolocation”針對ios的相關插件“ cordova-plugin-compat”已安裝在ios上。 將“ cordova-plugin-geolocation”的插件信息保存到config.xml ******全球化********* ios上已安裝的插件“ cordova-plugin-globalization”。 使它成為頂級。 將“ cordova-plugin-globalization”的插件信息保存到config.xml ****** inappbrowser *********通過npm獲取插件“ cordova-plugin-inappbrowser”安裝“ cordova-plugin-inappbrowser”對於ios,已將“ cordova-plugin-inappbrowser”的插件信息保存到config.xml ****** spinner-dialog *********通過npm獲取插件“ cordova-plugin-spinner-dialog”,安裝“適用於ios的cordova-plugin-spinner-dialog”已將“ cordova-plugin-spinner-dialog”的插件信息保存到config.xml ****** okhttp *********獲取插件“ cordova-plugin- okhttp”通過npm安裝ios的“ cordova-plugin-okhttp”已將“ cordova-plugin-okhttp”的插件信息保存到config.xml ******中,列出了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“設備” cordova-plugin-dialogs 1.2.1“通知” cordova-plugin-geolocation 2.2.0“ geolocation” cordova-plugin-glob aization 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插件完成!

  3. 我將wwwresource文件夾從我的舊項目復制到了工作的cordova項目中。

  4. 我也將Ionic項目文件也從原來的項目復制到了可工作的cordova項目中。

  5. 結果是:

********* 腳步 ***********

  1. 步驟->從xCode啟動應用

在此處輸入圖片說明

  1. 步驟->去配置推送

在此處輸入圖片說明

  1. 步驟->檢查推送支持

在此處輸入圖片說明

  1. 步驟->注冊設備

在此處輸入圖片說明

  1. 步驟->將推送從MFP服務器發送到注冊的移動設備

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM