iOS 7上的Cordova 3.0白色闪光灯 - 我研究了这个

时间:2013-10-23 20:27:41

标签: ios xcode cordova

在启动画面后,我遇到了Cordova 3.0 for iOS 7中的白色闪光问题。在终端我跑了:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git

我生成的config.xml文件如下:

    <content src="./index.html" />
<feature name="LocalStorage">
    <param name="ios-package" value="CDVLocalStorage" />
</feature>
<access origin="*" />
<preference name="KeyboardDisplayRequiresUserAction" value="true" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="UIWebViewBounce" value="true" />
<preference name="TopActivityIndicator" value="gray" />
<preference name="EnableLocation" value="false" />
<preference name="EnableViewportScale" value="false" />
<preference name="AutoHideSplashScreen" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="FadeSplashScreen" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="AllowInlineMediaPlayback" value="false" />
<preference name="OpenAllWhitelistURLsInWebView" value="false" />
<preference name="BackupWebStorage" value="cloud" />
<preference name="permissions" value="none" />
<preference name="orientation" value="default" />
<preference name="target-device" value="universal" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
<preference name="prerendered-icon" value="true" />
<preference name="stay-in-webview" value="false" />
<preference name="ios-statusbarstyle" value="black-opaque" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="false" />
<preference name="disable-cursor" value="false" />
<preference name="android-minSdkVersion" value="7" />
<preference name="android-installLocation" value="auto" />
<feature name="SplashScreen">
    <param name="ios-package" value="CDVSplashScreen" />
</feature>
<feature name="SplashScreen">
    <param name="android-package" value="org.apache.cordova.SplashScreen" />
</feature>
<feature name="InAppBrowser">
    <param name="ios-package" value="CDVInAppBrowser" />
</feature>
<feature name="InAppBrowser">
    <param name="android-package" value="org.apache.cordova.InAppBrowser" />
</feature>

我在资产目录中有适当的启动图像。每当我尝试运行这个应用程序时,它总是在启动画面上运行良好,但随后迅速淡化为白色。真令人发狂;我看了很多链接并完成了他们告诉我的事情,例如:

Phonegap 3 white flash after splash

我做错了什么?

更新

哇,Phonegap。这是解决方案:

<feature name="SplashScreen">
<param name="ios-package" value="CDVSplashScreen"/>
<param name="onload" value="true" />
</feature>

1 个答案:

答案 0 :(得分:1)

这是一种正常行为。 Splash屏幕隐藏在您的应用程序之前(假设:index.html)加载。

您可以通过执行以下操作延迟splashscreen.hide()来避免白色闪烁:

config.xml 文件中修改 AutoHideSplashScreen 设置。它必须是 false
(此文件应位于platforms / ios / www /中)

<preference name="auto-hide-splash-screen" value="false" />

要延迟隐藏启动画面,请在deviceready处理程序中添加一个计时器(我在 index.html 中添加):

function onDeviceReady() {
    setTimeout(function() {
        navigator.splashscreen.hide();
    }, 2000);
}

这会延迟将SplashScreen隐藏2秒。 对我而言,它的工作时间为1200毫秒,您可以尝试一下。

查看iOS怪癖部分:
http://docs.phonegap.com/en/3.0.0rc1/cordova_splashscreen_splashscreen.md.html#splashscreen.hide