Joe*_*oey 7 ios ionic-framework iphone-6 ios9
Cordova v5.3.1/Ionic v1.1.0(库v1.6.4)
从8.4升级我们的应用程序到iOS 9.该应用程序在iPad/iPad mini上构建并运行良好.但是,它在部署到iPhone时会崩溃.
以下是调试输出:
2015-09-23 11:17:09.920 AnApplicaiton [6490:1359695]***断言失败 - [UIApplication _cachedSystemAnimationFenceCreatingIfNecessary:],/ BuildRoot/Library/People/com.apple.xbs/Sources/UIKit_Sim/UIKit-3505.16/UIApplication.m:1697
2015-09-23 11:17:09.926 AnApplication [6490:1359695]***由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:'访问_cachedSystemAnimationFence需要主线程'
到目前为止,调试控制台是完全相同的.
我不知道真正的原因但是当App有WebView和第三方键盘如Swype时,程序崩溃了.我多次复制这个问题.因此,如果您的应用使用WebView,如Cordova,iAd,Admob,您将看到这些奇怪的崩溃.我不知道如何防止这个问题.它只发生在iOS上,只发生在iPhone上.我的崩溃报告显示iPhone 5s,iPhone 6,iPhone 6 Plus.
编辑:我认为@ Kurt.F提供的代码现在可以解决问题.将以下代码添加到您的AppDelegate.swift文件中.所有学分都归@ Kurt.F所有
func application(application: UIApplication, shouldAllowExtensionPointIdentifier extensionPointIdentifier: String) -> Bool {
if extensionPointIdentifier == UIApplicationKeyboardExtensionPointIdentifier {
return false
}
return true
}
Run Code Online (Sandbox Code Playgroud)
小智 5
这似乎是第三方键盘和WebView之间的冲突.我也能够在iOS 9上崩溃Chrome(在Cordova之外).我只是去一个热门的网站,并专注于一些编辑领域几次.您可以在页面加载时执行此操作以显示键盘,同时启用某个自定义键盘并使其崩溃.
我创建了一个简单的Cordova插件,不允许任何键盘扩展与app一起运行.不是永久的解决方案,但它现在将停止崩溃.只需添加插件,无需更改代码.
https://github.com/kurtisf/cordova-plugin-restrict-keyboard