【问题标题】:Ionic white screen on IOS startupIOS启动时出现离子白屏
【发布时间】:2019-11-04 14:51:46
【问题描述】:

我正在使用版本 3 中的 Ionic 开发应用程序,但我在构建 IOS 时遇到问题,仅适用于 IOS。

我研究了几天,没有找到解决问题的方法,能够编译最后两个版本没有问题,但现在我需要发布另一个版本,但它不会。

只有 iOS 的构建有问题。

问题

构建完成后,在真机上测试,应用进入闪屏退出,进入完全不出来的白屏。

这只发生在带有--prod 标志的构建中。当我在调试模式下运行时,它可以完美运行,包括 livereload 和其他一切。

信息

在 XCode 控制台中,我唯一看到的是所有启动,当应用程序被锁定时,我在白屏上看到:TIC Read Status [10: 0x0]: 1:57TIC Read Status [11: 0x0]: 1:57

欢迎任何尝试提供帮助。提前致谢!

【问题讨论】:

  • 如果插件 cordova-plugin-whitelist 版本是 1.3.0 需要卸载,需要安装最新版本的 cordova-plugin-whitelist 1.3.3 。然后ionic cordova platform rm ios,ionic cordova platform add ios,ionic cordova build ios。
  • 插件cordova-plugin-whitelist已经在1.3.3版本了。

标签: ionic-framework ionic3


【解决方案1】:

我遇到了类似的问题,但似乎没有任何效果。 最后,我将浏览器添加为平台。

ionic cordova platform add browser

然后,我尝试将其作为生产运行,并且从那里开始,我能够更多地诊断问题,因为错误随后显示在控制台中。

ionic cordova run browser --prod --release

XCode 向我展示了真正的错误,我运气不佳。

【讨论】:

    【解决方案2】:

    我最近遇到了类似的问题。你在使用离子 SplashScreen 插件吗?删除 node_modules、platforms 和 plugins 目录后是否可以尝试执行全新安装。

    如果它不起作用,请像这样更新您的 app.component.ts。

    import { SplashScreen } from '@ionic-native/splash-screen';
    
    export class MyApp {
       ...
       constructor(... public splashScreen: SplashScreen, ...) {
    
       this.initializeApp();
    
    }
    
    initializeApp() {
    
      this.platform.ready().then(() => {
        ...
    
        setTimeout(() => {
          this.splashScreen.hide();
        }, 2000);
    
        ...
    
      });
    }
    

    在您的 config.xml 中设置此参数。

    <preference name="AutoHideSplashScreen" value="false" />
    <preference name="SplashShowOnlyFirstTime" value="false" />
    <preference name="ShowSplashScreen" value="false" />
    <preference name="SplashScreenDelay" value="3000" />
    <preference name="ShowSplashScreenSpinner" value="false" />
    <preference name="FadeSplashScreen" value="false" />
    

    【讨论】: