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>>
<<图片2>>
2. 有的时候在浏览器中时没有错误的,但在IOS模拟器中时,却有错误。这个时候,我们可以用XCode打开, 运行ios 模拟器比如 IPhone 8 Plus, 当模拟器出现闪退或白屏时, 1: 查看XCode console中是否有错误信息。2: 浏览器中输入 http://localhost:8080/ , 打开开发工具(Developer Tools), 查看控制台是否有错误信息(如图3所示,红色划线处,可以看到有异常抛出)。类似步骤1。也就是说,其实IOS模拟器运行的也是网页,只是看不到网址而已。
<<图片3>>
3. 检查Ionic 程序中是否有第三方组件。我的程序就是因为调用了一个anguar的组件叫"angular2-logger",导致部署到IOS设备后出现闪退。我花了不少时间才逐步排查到这个问题。后来是删除了这个组件才解决闪退的问题。所以,第三方非原生的组件慎用,一旦出现闪退,可以先审查Code中是否有第三方组件等等。
综上所述,核心思想还是, 首先排查Ionic程序中是否有问题,然后看是否是因为引用了第三方组件。最后,如何我的方案还没解决您的问题,欢迎留言。
如果文中有任何错误,欢迎指正。