ionic cordova开发应用的坑

1、在PC浏览器里正常,打包出现问题,路由不能正常跳转,80%是打包出现问题,后来推测是版本控制的问题,不同的人安装的cordova的插件版本不同,造成冲突所致
2、popover和modal一起弹出,没有正常关闭会出问题
3、build报错mergeDebugResources:
在build.gradle里添加以下两句:

android{
        aaptOptions.cruncherEnabled = false
        aaptOptions.useNewCruncher = false
        defaultConfig{
...
    }
}

4、web浏览器显示正常的,在手机上显示空白,首先检查是否是引用的东西的URL错误
5、页面清缓存,否则app运行非常占内存
6、video不能用ng-if,video不存在会无法初始化
7、modal用的时候要注意有没有正确关闭,初始化和show要分开
8、照相功能无法使用的问题
命令安装
ionic cordova plugin add cordova-plugin-camera –variable CAMERA_USAGE_DESCRIPTION=”“

<variable name="CAMERA_USAGE_DESCRIPTION" value="" />
<variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="" />
<edit-config file="*-Info.plist" mode="merge" overwrite="true" target="NSCameraUsageDescription">
    <string />
edit-config>
<edit-config file="*-Info.plist" mode="merge" overwrite="true" target="NSPhotoLibraryUsageDescription">
    <string />
edit-config>
<edit-config file="*-Info.plist" mode="merge" overwrite="true" target="NSLocationWhenInUseUsageDescription">
    <string />
edit-config>
<edit-config file="*-Info.plist" mode="merge" overwrite="true" target="NSPhotoLibraryAddUsageDescription">
    <string />
edit-config>
<engine name="ios" spec="4.5.4" />

另外相机操作英文改中文:xcode打开项目info -> Localization native development region中的English改为China
9、在照片浏览页面需要禁用橡皮筋效果,只需要在scroll-content上加css overflow-y:hidden就可以了(此时的照片查看不涉及照片放大功能)
10、做iOS 的在线更新的时候,点击更新没有跳转到指定链接,更新没有开始,查了一段时间之后想起来,是因为config.xml 里allow-intent 标签的问题,跳转的链接没有被允许,添加进去就可以了
11、使用pipe的时候,如果是component中使用,在components.module.ts中引入PipesModule,
如果是page中使用,需要在使用的page中引用PipesModule
12、错误NET::ERR_CACHE_MISS
rm platform android 后,有时platforms/android/AndroidManifest.xml中没有网络权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

11、ionic 1报错

Gulpfile (or dependent module) not found: .\gulpfile.js

在gulpfile.js中加上,That line tells the new ionic cli 2@beta to run the old ionic cli 1.x ‘default’ task before serving (before running ionic serve)

gulp.task('serve:before', ['default']);

然后重装下

npm uninstall --save-dev gulp-sass
npm install --save-dev gulp-sass@2

或者

npm update
npm remove gulp-sass
npm install gulp-sass --save-dev

12、angular1中filter使用注意
当只需要过滤对象中的指定字段,输入对象结构应与列表数据一致,这时输入ccc字段的内容,过滤器不会过滤出ccc的相关结果,只会在bbb中搜索

<input type="text" ng-model="obj.aaa.bbb"/>
<li ng-repeat="item in list| filter: obj">{{item.aaa.bbb}}{{item.aaa.ccc}}li>

13、有个页面的列表,进入页面之后迅速划到页面底部,底部的几条数据加载出来了,但是没有渲染到页面上。
找了很多解决方法,比如 ng-repeat 换成 collection-repeat(×),使用 repeat-finish 指令,在列表数据渲染完成之后做一些事情(×),都失败了。
最后还是想用scroll相关方法去解决:$ionicScrollDelegate
但是,使用 $ionicScrollDelegate.$getByHandle('mainScroll').scrollBy(0,50); 的时候,会接收到其他页面监听的一些方法,又造成了新的问题。
最后还是发现,把列表包在 标签里,列表渲染的问题就解决了= =
谨以此条记录这个坑爹的问题。
14、ionic3:
有的页面数据更新后视图没有刷新,找到一个解决方案:
https://stackoverflow.com/questions/45690368/ionic-3-not-updating-view
在input中输入内容的时候也会偶尔出现输入的字没有显示出的情况,此方法不太适用。


你可能感兴趣的:(开发记录)