由于“ _alwaysRunsAtForegroundPriority”,iOS 12上的离子应用程序崩溃 [英] Ionic app crashes on iOS 12.2 because of '_alwaysRunsAtForegroundPriority'
问题描述
在iOS 12.2上,我的应用程序在启动后立即终止,并在xcode中显示以下消息:
由于未捕获的异常'NSUnknownKeyException,正在终止应用程序',原因:'[setValue:forUndefinedKey:]:此类不适用于_alwaysRunsAtForegroundPriority键的键值编码。'
任何人都可以为我指出正确的方向吗?我发现之前对此有一些警告:
如何解决应用程序验证该应用程序在Payload / MyApp.app /中引用了非公共选择器MyApp:_setAlwaysRunsAtForegroundPriority:?
该帖子的答案是,它是来自webview的安全警告,可以忽略。但是当它使我的应用崩溃时,它真的不能再被忽略了:)
在此先感谢您的帮助。
Lars
2019年2月2日更新:看起来是导致错误的cordova-plugin-background-mode。但是我必须承认我不知道如何解决这个问题。当我从项目中删除该插件时,它可以工作。但是我需要该插件,或者至少需要后台模式功能,所以我需要以某种方式修复它。
2019年2月5日更新:
@coderroggie:
我也有cordova-的2.3.2版本plugin-ionic-webview插件。
奇怪的是,它仅在删除cordova-plugin-background-mode(0.7.2版)时才对我有用。
我将发布我的离子信息,如果可以为您提供任何有用的信息。
离子:
<离子>离子(离子CLI):4.9.0(/ usr / local / lib / node_modules / ionic)
Ionic框架:ionic-angular 3.9.2 @ ionic / app-scripts:3.2.1
Cordova:
cordova(Cordova CLI):8.1.2(cordova-lib@8.1.1)Cordova
平台:ios 4.5.5 Cordova插件:
cordova-plugin-ionic 5.2.9,cordova-plugin-ionic-keyboard 2.1.3,
cordova-plugin-ionic-webview 2.3.2(和其他22个插件)
系统:
ios-deploy:1.9.2 NodeJS:v8.11.1(/ usr / local / bin / node)< br>
npm:6.4.1操作系统:macOS Mojave Xcode:Xcode
10.1 Build version 10B61
更新2月2日(再次)
我的插件:
cordova-android-firebase -gradle-release 1.0.2 cordova-android-firebase-gradle-release
cordova-android-play-s ervices-gradle-release 1.4.3 cordova-android-play-services-gradle-release
cordova-android-support-gradle-release 1.4.4 cordova-android-support-gradle-release
cordova-plugin-app-version 0.1.9 AppVersion
cordova-plugin-background-mode 0.7.2 BackgroundMode
cordova- plugin-badge 0.8.7 Badge
cordova-plugin-camera 4.0.3 Camera
cordova-plugin-console 1.1.0 Console
cordova-plugin-customurlscheme 4.3.0自定义URL方案
cordova-plugin-device 2.0.2设备
cordova-plugin-file 6.0.1文件
cordova-plugin-文件传输1.7.1文件传输
cordova-plugin-geolocation 4.0.1地理位置
cordova-plugin -ionic 5.2.9 cordova-plugin-ionic
cordova-plugin-ionic-键盘2.1.3 cordova-plugin-ionic-keyboard
cordova-plugin-ionic -webview 2.3.2 cordova-plugin-ionic-webview
cordova-plugin-local-notification 0.9.0-beta.2 LocalNotification
cordova -plugin-mauron85-background-geolocation 3.0.0-alpha.49 CDVBackgroundGeolocation
cordova-plugin-network-information 2.0.1网络信息
cordova-plugin- safariviewcontroller 1.5.4 SafariViewController
cordova-plugin-splashscreen 5.0.2 Splashscreen
cordova-plugin-vibration 3.1.0振动
cordova-plugin-whitelist 1.3.3白名单
cordova-support-google-services 1.1.0 cordova-support-google-services
cordova.plugins.diagnostic 4.0 .7 Diagnostic
ionic-plugin-keyboard 2.2.1 Keyboard
phonegap-plugin-push 2.1.3 PushPlugin
在插件中,底部有一个 setValue,该值会改变应用程序。得到了一个用于12.2的构建。尝试
ionic cordova插件添加https://github.com/iowayankee/cordova-plugin-background-mode.git
package.json
cordova-plugin-background-mode: git + https://github.com/iowayankee/cordova-plugin-background-mode.git,
config.xml
< plugin name = cordova-plugin-background-mode spec = git + https://github.com/iowayankee/cordova-plugin-background-mode.git />
希望至少能帮助某人顺利进行
On iOS 12.2 my app is terminated just after startup, with this message in xcode:
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key _alwaysRunsAtForegroundPriority.'
Anyone who can point me in the right direction for this one? I see that there has been some warnings about this earlier:
The answer to that post is that it's a security warning from webview that can be ignored. But when it's crashing my app, it can't really be ignored anymore :)
Thanks in advance for any help.
Lars
Update Feb 2nd 2019: It looks like it's the cordova-plugin-background-mode that causes the error. But i must admit that i have no idea how to fix that. It works when i remove that plugin from my project. But i need that plugin, or at least the background-mode functionality, so i need to fix this, somehow.
Update Feb 5th 2019: @coderroggie: I also have the version 2.3.2 of the cordova-plugin-ionic-webview plugin. It's strange that it works for me only when removing the cordova-plugin-background-mode (version 0.7.2)
I'll post my ionic info, if that can provide you with any helpful information.
Ionic:
ionic (Ionic CLI) : 4.9.0 (/usr/local/lib/node_modules/ionic)
Ionic Framework : ionic-angular 3.9.2 @ionic/app-scripts : 3.2.1Cordova:
cordova (Cordova CLI) : 8.1.2 (cordova-lib@8.1.1) Cordova Platforms : ios 4.5.5 Cordova Plugins : cordova-plugin-ionic 5.2.9, cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 2.3.2, (and 22 other plugins)
System:
ios-deploy : 1.9.2 NodeJS : v8.11.1 (/usr/local/bin/node)
npm : 6.4.1 OS : macOS Mojave Xcode : Xcode 10.1 Build version 10B61
Update Feb 2nd (again)
My plugins:
cordova-android-firebase-gradle-release 1.0.2 "cordova-android-firebase-gradle-release"
cordova-android-play-services-gradle-release 1.4.3 "cordova-android-play-services-gradle-release"
cordova-android-support-gradle-release 1.4.4 "cordova-android-support-gradle-release"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-background-mode 0.7.2 "BackgroundMode"
cordova-plugin-badge 0.8.7 "Badge"
cordova-plugin-camera 4.0.3 "Camera"
cordova-plugin-console 1.1.0 "Console"
cordova-plugin-customurlscheme 4.3.0 "Custom URL scheme"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-ionic 5.2.9 "cordova-plugin-ionic"
cordova-plugin-ionic-keyboard 2.1.3 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 2.3.2 "cordova-plugin-ionic-webview"
cordova-plugin-local-notification 0.9.0-beta.2 "LocalNotification"
cordova-plugin-mauron85-background-geolocation 3.0.0-alpha.49 "CDVBackgroundGeolocation"
cordova-plugin-network-information 2.0.1 "Network Information"
cordova-plugin-safariviewcontroller 1.5.4 "SafariViewController"
cordova-plugin-splashscreen 5.0.2 "Splashscreen"
cordova-plugin-vibration 3.1.0 "Vibration"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-support-google-services 1.1.0 "cordova-support-google-services"
cordova.plugins.diagnostic 4.0.7 "Diagnostic"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 2.1.3 "PushPlugin"
In the plugin there's a 'setValue' towards the bottom that nukes the app. Got a build going for 12.2. Try
ionic cordova plugin add https://github.com/iowayankee/cordova-plugin-background-mode.git
package.json
"cordova-plugin-background-mode": "git+https://github.com/iowayankee/cordova-plugin-background-mode.git",
config.xml
<plugin name="cordova-plugin-background-mode" spec="git+https://github.com/iowayankee/cordova-plugin-background-mode.git" />
Hopefully helps someone at least get the build going
这篇关于由于“ _alwaysRunsAtForegroundPriority”,iOS 12上的离子应用程序崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!