ionic 程序部署到ios设备闪退或白屏的解法方案

一般来说,这是一个比较麻烦的问题,网上有很多文章阐述了解决办法,都是通过更改config.xml文件中splashscreen相关配置, 我这里不再累述。 我的看法是, 有很大的可能是ionic程序出了问题,可以按照以下步骤一一排除。

系统环境设置: Mac OS X, Visual Studio Code, XCode, Node.js etc.

1.  查看是否是Ionic程序的问题。使用VS Code打开项目,在终端运行 ionic serve -c  ,然后打开浏览器的开发工具,打开 控制台 or console. 在这里我以chrome浏览器作为示例,查看程序是否有错误, 可以看到这里有警告,但没有错误。

<<图片1>>

ionic 程序部署到ios设备闪退或白屏的解法方案_第1张图片

<<图片2>>

ionic 程序部署到ios设备闪退或白屏的解法方案_第2张图片

2.  有的时候在浏览器中时没有错误的,但在IOS模拟器中时,却有错误。这个时候,我们可以用XCode打开, 运行ios 模拟器比如 IPhone 8 Plus, 当模拟器出现闪退或白屏时, 1: 查看XCode console中是否有错误信息。2: 浏览器中输入 http://localhost:8080/ , 打开开发工具(Developer Tools), 查看控制台是否有错误信息(如图3所示,红色划线处,可以看到有异常抛出)。类似步骤1。也就是说,其实IOS模拟器运行的也是网页,只是看不到网址而已。

<<图片3>>

ionic 程序部署到ios设备闪退或白屏的解法方案_第3张图片

3.  检查Ionic 程序中是否有第三方组件。我的程序就是因为调用了一个anguar的组件叫"angular2-logger",导致部署到IOS设备后出现闪退。我花了不少时间才逐步排查到这个问题。后来是删除了这个组件才解决闪退的问题。所以,第三方非原生的组件慎用,一旦出现闪退,可以先审查Code中是否有第三方组件等等。


4. 在最新版 Ionic4 中,部署到IOS 设备后出现白屏问题

修改 src/index.html 中如下内容:

将:     替换为:

或在Appmodule.ts配置 {provide: LocationStrategy, useClass: HashLocationStrategy}

不知为何Ionic团队还没解决如此严重的Bug。

你可能感兴趣的:(ionic 程序部署到ios设备闪退或白屏的解法方案)