我正在开发一款带有PGB(cli-7.1.0)的混合应用程序。几个星期后,应用程序在iOS(11.3)之后冻结,之后又回到了前台 - 不是每次都有,但有时候。 javascript继续运行并且不会抛出任何错误,但不再触及任何元素。似乎所有事件处理程序都停止工作。滚动也不再可能。
设备日志中没有javascript错误也没有错误,所以我有点卡住了。
有没有人有想法,如何解释这种行为?
提前致谢。 :)
解决方案:
原来,iOS 11.3和js-Fastclick目前不兼容。有一个解决所有问题的分支:https://github.com/lasselaakkonen/fastclick/tree/fix-ios-11-3-event-timestamps
以防有人遇到同样的问题。
答案 0 :(得分:3)
我已经测试了以下两种解决方案,它们似乎都可以独立解决此问题。
解决方案1:
Cordova已在master
中修复了此问题,并将在其下一个cordova-ios版本v4.6.0中提供。同时,您可以手动将更改修补到最新版本4.5.4。更改仅在一个文件中,因此只需替换文件(CDVViewController.m
)应该很简单。
https://github.com/apache/cordova-ios/pull/363/files
您可以按照以下步骤来修补最新版本。
从github下载最新版本4.5.4,并将下载的文件夹添加到项目中的某个位置。
将CDVViewController.m
替换为上述请求请求中的一个
将cordova-ios
依赖项作为外部文件添加到package.json中。
"dependencies": {
...
"cordova-ios": "file:PATH/TO/cordova-ios"
...
}
解决方案2:
如果您使用的是FastClick,则在以下拉取请求下也对此进行了修复。它尚未被合并,但似乎可以解决该问题。因此,您可以使用以下拉取请求中的一个替换FaskClick.js。