我在 Ionic 2 框架中面临无限滚动的问题,它非常适合 Android,但不适用于 Iphone,请提供任何帮助......
离子信息:
Cordova CLI: 6.5.0
Ionic Framework Version: 2.3.0
Ionic CLI Version: 2.2.0
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 0.0.47
ios-deploy version: Not installed
ios-sim version: Not installed
OS: macOS Sierra
Node Version: v6.9.4
Xcode version: Xcode 8.2.1 Build version 8C1002
这是我的包.json:
"dependencies": {
"@angular/common": "2.2.1",
"@angular/compiler": "2.2.1",
"@angular/compiler-cli": "2.2.1",
"@angular/core": "2.2.1",
"@angular/forms": "2.2.1",
"@angular/http": "2.2.1",
"@angular/platform-browser": "2.2.1",
"@angular/platform-browser-dynamic": "2.2.1",
"@angular/platform-server": "2.2.1",
"@ionic/storage": "1.1.6",
"ionic-angular": "^2.0.0-rc.4",
"ionic-native": "2.2.11",
"ionicons": "3.0.0",
"moment": "^2.17.1",
"mydatepicker": "^1.1.1",
"ng2-translate": "^4.0.1",
"rxjs": "5.0.0-beta.12",
"zone.js": "0.6.26",
"sw-toolbox": "3.4.0"
},
"devDependencies": {
"@ionic/app-scripts": "1.0.0",
"angular2-template-loader": "^0.6.0",
"awesome-typescript-loader": "^3.0.0-beta.18",
"typescript": "2.0.6"
},
问题是这也是我从哪里获得ionic框架版本2.3.0,而我在package.json中给出的不同
谷歌之后,我发现这可能是 ionic 版本 2.3.0 的问题,并试图降级它,但我无法在 Mac 上这样做。为此,我在 package.json 中更改了离子角度。
请帮忙
当我尝试 npm 安装时,得到以下 erorr:
npm WARN ionic-angular@2.3.0 requires a peer of @angular/common@2.4.8 but none was installed.
npm WARN ionic-angular@2.3.0 需要 @angular/compiler@2.4.8 的对等体,但没有安装任何对等体。 npm WARN ionic-angular@2.3.0 需要 @angular/compiler-cli@2.4.8 的对等方,但没有安装任何对等体。 npm 警告 ionic-angular@2.3.0 需要 @angular/core@2.4.8 的对等体,但没有安装任何对等体。 npm WARN ionic-angular@2.3.0 需要 @angular/forms@2.4.8 的对等体,但没有安装任何对等体。 npm 警告 ionic-angular@2.3.0 需要 @angular/http@2.4.8 的对等体,但没有安装任何对等体。 npm WARN ionic-angular@2.3.0 需要 @angular/platform-browser@2.4.8 的对等体,但没有安装任何对等体。 npm WARN ionic-angular@2.3.0 需要 @angular/platform-browser-dynamic@2.4.8 的对等体,但没有安装任何对等体。 npm WARN ionic-angular@2.3.0 需要 @angular/platform-server@2.4.8 的对等体,但没有安装任何对等体。 npm 警告 ionic-angular@2.3.0 需要 rxjs@5.0.1 的对等体,但没有安装任何对等体。 npm WARN ionic-angular@2.3.0 需要 zone.js@0.7.2 的对等体,但没有安装任何对等体。
此问题已在 3.0.1 版本中修复。但是,不在离子3.0.0
中确保安装了最新的 Cordova CLI:(可能需要 Sudo)
npm install cordova -g
确保已添加 ios 平台:
ionic platform ls
如果未列出 iOS 平台,请运行以下命令:
ionic platform add ios
如果已安装 iOS 平台,但版本<4.x,请运行以下命令:
ionic platform update ios
ionic plugin save # creates backup of existing plugins
rm -rf ./plugins # delete plugins directory
ionic prepare # re-install plugins compatible with
cordova-ios 4.x
安装 WKWebViewPlugin:
ionic plugin add https://github.com/driftyco/cordova-plugin-wkwebview-engine.git --save
构建平台:
ionic prepare
在 iOS 9 或 10 设备上测试应用:
ionic run ios
验证WKWebView是否已安装在iOS上的一种简单方法是检查window.indexedDB是否存在。例如:
if (window.indexedDB) {
console.log("I'm in WKWebView!");
} else {
console.log("I'm in UIWebView");
}
所需权限
WKWebView 可能无法完全启动(设备就绪事件可能不会触发),除非 config.xml 中包含以下内容:
配置.xml
<allow-navigation href="http://localhost:8080/*"/>
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />