我已经构建并安装了一个Ionic本机应用并尝试运行它。 在运行应用程序时,我在xcode中遇到错误:
2018-03-01 15:17:42.748572 + 0200 StorSenseMobile [8770:959523] API 错误:< _UIKBCompatInputView:0x7fc2f750a7e0; frame =(0 0; 0 0); layer =>返回0宽度,假设 UIViewNoIntrinsicMetric
2018-03-01 15:17:42.748731 + 0200 StorSenseMobile [8770:959523] API错误:< _UIKBCompatInputView: 0x7fc2f750a7e0; frame =(0 0; 0 0); layer => 返回0宽度,假设UIViewNoIntrinsicMetric
我已经检查过,有些人建议升级到MKWebView。
在哪里可以找到有关升级到MKWebview的信息?是那个 这个错误的正确解决方案?
感谢。
答案 0 :(得分:0)
当Apple弃用UIWebView时,它支持WKWebView。 WKWebView是可能被推荐的升级。 MKWebView是一个错字或WKWebView的某人包装。您可以查看有关如何升级离子应用here的说明。
话虽如此。我不认为这必然会解决你所看到的问题。当我在iPhone X模拟器上运行我的离子1应用程序时,我看到了相同的日志消息。升级到WKWebView后我仍然看到相同的消息,所以它没有为我解决问题。经过大量的测试,我能够通过延迟第一个控制器中js的执行来解决问题,直到设备准备就绪。
$ionicPlatform.ready(function(){init();});
我的理论是,在设备准备好之前通过将值绑定到DOM来更新DOM会导致错误。这是有道理的,就好像设备没有准备好并返回宽度为0,您还没准备好渲染DOM。如果您使用视口元标记并将宽度设置为设备宽度,则尤其如此。