启动画面后,PhoneGap Build iOS应用程序有空白屏幕

Dan*_*ler 21 javascript ios phonegap-build

我正在使用PhoneGap Build 3.0,试图摆脱启动画面后出现的空白屏幕.

我做过研究,我所能找到的是对PhoneGap和Cordova的引用,而不是PhoneGap Build.我尝试过的所有东西都没有用 - 主要是禁用自动启动画面隐藏,并使用JavaScript自动隐藏它:

在config.xml中:

<feature name="SplashScreen">
    <param name="ios-package" value="CDVSplashScreen" />
    <param name="onload" value="true" />
</feature>
Run Code Online (Sandbox Code Playgroud)

在index.html中:

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
        window.location.href = mysite.com

        document.AddEventListener("deviceready", OnDeviceReady, false);

        function OnDeviceReady() {
            setTimeout(function() { 
                navigator.splashscreen.hide();
            }, 6000);
        };
    </script>
Run Code Online (Sandbox Code Playgroud)

但这似乎忽略了我并且无论如何自动隐藏屏幕.我认为这是因为这个解决方案不适用于PhoneGap Build,但我不确定如何解决此问题.

Bar*_*art 41

完全感受到你的痛苦.PhoneGap Build的文档需要大量工作.我自己过去几天一直在和这个人打架.经过多次试验和错误,这对我有用.

在config.xml中:

<!-- Do not auto hide splash on iOS -->
<preference name="AutoHideSplashScreen" value="false" />
<!-- Do not auto hide splash on Android -->
<preference name="SplashScreenDelay" value="10000"/>

<gap:plugin name="org.apache.cordova.splashscreen" />
Run Code Online (Sandbox Code Playgroud)

Android似乎没有AutoHide参数,所以我们只是给它一个很长的延迟.在达到这10秒之前,我们将使用JS手动隐藏它.

需要在config.xml中添加插件引用才能使javascript代码navigator.splashscreen.hide();正常工作.

此外,我发现我的项目(使用Kendo UI Mobile)内部不需要setTimeout延迟onDeviceReady.我猜,一旦你在config.xml中得到了正确的参数,你就会在你的应用中看到相同的参数.

onDeviceReady看起来像这样:

document.addEventListener('deviceready', function() {
  navigator.splashscreen.hide();
});
Run Code Online (Sandbox Code Playgroud)

使用PhoneGap Build 3.1在iOS 6和Android 4.1上测试.


Jim*_*ins 8

我想补充一点,我有一个类似的问题,在我的情况下,它不是闪屏.

在我使用PhoneGap build和Git的情况下,我在我的应用程序中添加了一个javascript文件,但未能包含并将新文件推送到我的git存储库.这导致我的应用程序在本地工作,但当构建服务器提取最新代码时,它显示PhoneGap构建上的白色屏幕.

PhoneGap已初始化,但Kendo UI不喜欢缺少引用的js类并且失败了.这是一个PhoneGap noob错误,但我想分享它只是帮助有类似问题的人和启动画面修复不起作用. 它可能是在您的移动ui框架加载之前发生的javascript错误.