Cordova 3.4 iOS 开屏后出现白屏问题

11

我已经在这里看了几篇关于这个问题的帖子,但是没有解决我的问题。

当我的启动屏幕加载并显示约2秒钟后,会出现一个白色屏幕,大约持续2秒钟,然后应用程序内容显示。

这个问题仅存在于iOS上,并且仅在我使用3.5英寸的iOS 6.1和7模拟器运行时才会出现。

我已经

<preference name="AutoHideSplashScreen" value="false" /> 

因此,我可以在deviceready事件中手动控制启动画面何时隐藏,如下所示:

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

问题在于这并不能阻止启动画面过早隐藏。我看到的行为与此完全相同,只是加载旋转器在2000毫秒后消失。

那么...到底发生了什么?

1个回答

16

我遇到了同样的问题(Cordova 3.4),但是我已经解决了这个问题。

看起来是CDVSplashScreen中的某种错误。请注意,输出中显示它找不到图片“Default-Portrait”。(它应该寻找另一个文件“Default”,而不是“Default-Portrait”)。

WARNING:未找到名为Default-Portrait的闪屏图片

我的解决方法如下:

  • 创建一个名为Default-Portrait@2x~iphone.png的新启动画面(Default@2x~iphone.png的副本)并将其添加到资源目录下的启动画面目录中。(如果您需要支持iOS 6,您可能还需要一个Default-Portrait~iphone.png文件。)不要仅重命名文件,否则Xcode可能由于丢失文件而无法构建您的项目。

  • 确保您还要确保此新文件位于项目列表中。 (我没有使用cordova build ios重新构建项目,因此我必须从Finder将文件拖到Xcode中的项目文件中。不确定重新构建是否会自动将其添加到Xcode项目中。)

这应该解决您的问题。

我刚刚切换到Xcode 5.1和iOS 7.1,但Cordova与新SDK也存在一些问题。如果您遇到Xcode 5.1和iOS 7.1的问题,我还想链接您到以下页面


2
你好Nico,谢谢你!我可以在使用PhoneGap构建服务时添加此资源,因此不必本地运行XCode吗? - Roland Schütz
嗨Nico,你在控制台上看到这些错误了吗?例如在xCode中。 - allel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接