Ionic cordova 应用程序适用于所有浏览器和 IOS 9,但不再适用于 IOS 8 [无错误冻结]
Ionic cordova app working on all browsers and IOS 9, but not anymore on IOS 8 [freezes without error]
我有一个 Ionic 应用程序在 iOS 8.
下运行良好
现在我更新了一些代码并包含了网络信息插件并更新为cordova-ios-3.9.2.
我已经进行了两天的调试,但我没有收到任何错误,不是在 Xcode 中,也不是在我使用 safari webinspector 检查应用程序时。
但是,该应用程序在 iOS 8.1 下不再运行。它在 iOS 9 和所有 Android 版本下工作。
我知道这是一个模糊的问题,我希望能找到可以帮助的人。也许有人知道 iOS 8 和 9 之间的区别?
我们正在使用以下插件:
- android.support.v4
- com.internrocket.plugins.statusbarcolor
- com.ionic.keyboard
- cordova-plugin-console
- cordova-plugin-crosswalk-webview
- cordova-plugin-datepicker
- cordova-插件设备
- cordova-plugin-network-information(这个是之前版本和这个版本之间的新版本,但我认为它不会破坏它)
- cordova-plugin-splashscreen
- cordova-plugin-statusbar
- cordova-plugin-velda-devicefeedback
- cordova-plugin-whitelist
- cordova-plugin-x-toast
- cordova-plugin-inappbrowser
代码中的更改很小,并且在所有主要浏览器上都经过了很好的测试,而且我在 safari web-inspector 中没有发现任何错误,而且它在 iOS 9 下工作,所以我不怀疑它们。
同样奇怪的是IOS8下的布局看起来很奇怪。也许这是一个 css 错误?我不知道这是否可能?
感谢任何帮助!
编辑:
我尝试过的方法:将之前的离子代码与 ios-cordova 3.9.2. 一起使用。这有效。同样在 iOS 8.1
问题出在 CSS 前缀上。在两次发布之间,我们不小心删除了其中一些。如果没有 -webkit- css 前缀,ios 应用程序会在没有警告或错误的情况下中断。
所以我遇到了类似的问题,我使用了这个插件:
https://github.com/sindresorhus/gulp-autoprefixer
问题是这个插件推荐以下实现:
const gulp = require('gulp');
const autoprefixer = require('gulp-autoprefixer');
gulp.task('default', () =>
gulp.src('src/app.css')
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(gulp.dest('dist'))
);
两周前,iOS 9.3 发布,因此取消了对 iOS 8 的支持并破坏了我的应用程序,并招致了一些非常愤怒的客户。
修复是指定我需要支持的版本。
gulp.task('default', () =>
gulp.src('src/app.css')
.pipe(autoprefixer({
browsers: ['ios_saf >= 7', 'Chrome >= 42'],
cascade: false
}))
.pipe(gulp.dest('dist'))
);
希望对外面的人有所帮助!
我有一个 Ionic 应用程序在 iOS 8.
下运行良好现在我更新了一些代码并包含了网络信息插件并更新为cordova-ios-3.9.2.
我已经进行了两天的调试,但我没有收到任何错误,不是在 Xcode 中,也不是在我使用 safari webinspector 检查应用程序时。
但是,该应用程序在 iOS 8.1 下不再运行。它在 iOS 9 和所有 Android 版本下工作。
我知道这是一个模糊的问题,我希望能找到可以帮助的人。也许有人知道 iOS 8 和 9 之间的区别?
我们正在使用以下插件:
- android.support.v4
- com.internrocket.plugins.statusbarcolor
- com.ionic.keyboard
- cordova-plugin-console
- cordova-plugin-crosswalk-webview
- cordova-plugin-datepicker
- cordova-插件设备
- cordova-plugin-network-information(这个是之前版本和这个版本之间的新版本,但我认为它不会破坏它)
- cordova-plugin-splashscreen
- cordova-plugin-statusbar
- cordova-plugin-velda-devicefeedback
- cordova-plugin-whitelist
- cordova-plugin-x-toast
- cordova-plugin-inappbrowser
代码中的更改很小,并且在所有主要浏览器上都经过了很好的测试,而且我在 safari web-inspector 中没有发现任何错误,而且它在 iOS 9 下工作,所以我不怀疑它们。
同样奇怪的是IOS8下的布局看起来很奇怪。也许这是一个 css 错误?我不知道这是否可能?
感谢任何帮助!
编辑: 我尝试过的方法:将之前的离子代码与 ios-cordova 3.9.2. 一起使用。这有效。同样在 iOS 8.1
问题出在 CSS 前缀上。在两次发布之间,我们不小心删除了其中一些。如果没有 -webkit- css 前缀,ios 应用程序会在没有警告或错误的情况下中断。
所以我遇到了类似的问题,我使用了这个插件: https://github.com/sindresorhus/gulp-autoprefixer
问题是这个插件推荐以下实现:
const gulp = require('gulp');
const autoprefixer = require('gulp-autoprefixer');
gulp.task('default', () =>
gulp.src('src/app.css')
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(gulp.dest('dist'))
);
两周前,iOS 9.3 发布,因此取消了对 iOS 8 的支持并破坏了我的应用程序,并招致了一些非常愤怒的客户。
修复是指定我需要支持的版本。
gulp.task('default', () =>
gulp.src('src/app.css')
.pipe(autoprefixer({
browsers: ['ios_saf >= 7', 'Chrome >= 42'],
cascade: false
}))
.pipe(gulp.dest('dist'))
);
希望对外面的人有所帮助!