iPhone启动画面:“Default.png”在模拟器上显示但不在iPhone上显示。

8

我想为我的iPhone添加一个启动画面。

我已经将 Default.png 放置在我的资源组中。当我运行模拟器时,它按预期显示,但是当我将应用程序安装到iPhone上时,没有显示闪屏。

有人知道这个问题的原因/解决方案吗?

谢谢!


1
重复:https://dev59.com/0kjSa4cB1Zd3GeqPDjys - Lachlan Roche
9个回答

12
如果在设备上没有显示Default.png,但模拟器可以...请尝试以下步骤。
  1. 确保您删除了从XCode和Finder中创建的任何“default.png”,“Default.png”,“Default.PNG”等文件。
  2. 删除iPhone / iPod / iPad 上的应用程序
  3. 在Xcode Build->Clean All Targets
  4. 在Finder中进入您的项目并找到构建文件夹,删除其中的所有文件夹。
  5. 按照以下示例创建新的Default.png:
    • 将iPhone / iPod连接到Mac。
    • 启动iPhone上的应用程序
    • 在XCode中启动Organizer(Window-> Organizer)
    • 选择已连接的设备
    • 您应该看到一个选项卡“屏幕截图”
    • 点击Capture按钮,以捕获应用程序的屏幕截图
    • 点击“As Default Image...”按钮(这将创建Default.png并将其添加到您的项目中,非常方便)
  6. 再次构建和运行。 现在应该可以正常工作了
由于格式错误(应为320宽度和480高度(是的,这意味着您可以在默认.png中看到状态栏))或者因为您可能命名了第一个文件为default.png(这是错误的),虽然模拟器中可以运行,因为它似乎不区分大小写,但当它被复制到iPhone时,则无法找到。因此,它仍然存在于构建文件夹中(我认为),导致新的正确命名的Default.png无法覆盖此iPhone构建文件夹中的旧default.png,所以似乎您无法解决问题(因为您在项目中看到Default.png,但在构建中仍然是default.png).
至少这是我现在的理解(事后),因为对我来说,即使我尝试了其他人的不同解决方案,它也不想工作。
因此,从我的角度来看,这种不同文件处理(区分大小写/不区分大小写)非常混乱,您可以通过清除所有内容并尝试使用组织者生成新的Default.png来解决它。如果您想要不同/修改的启动画面,请使用Photoshop / GIMP /任何其他软件打开生成的Default.png并进行编辑。

我很高兴我仍然收到了赞,这些说明仍然有所帮助...... 但是如果有任何过时的部分,请在这里留下评论,以便我可以更新文本(因为我已经一年没用 XCode 了)。 - Allisone

10
请确保您的图片尺寸为480x320像素,并放置在应用程序的顶层。 在初始视图加载并准备好显示之前,框架将显示此图像。
如果您看到黑色背景,则说明有问题。但是,如果只看到您的应用程序的初始视图,则要高兴,因为您已经成功启动了应用程序,并且准备就绪可以使用。
如果您真的非常想让用户看到您的闪屏界面,请通过在呈现初始视图之前向应用程序添加延迟来减缓启动速度。
文件名必须为Default.png(D大写)。另外,请对整个项目进行清洁/重建,以确保最新版本的文件已包含在项目中。请检查文件系统上的文件名,在XCode中可能会显示不同。

嘿,谢谢你的回复。我的图片确实是320x480大小,并且文件名为Default.png,D是大写的。它在模拟器上可以正常工作,但在设备上却只显示黑屏。我还是一头雾水 :( - WoodenKitty
当我将两个同名图像作为应用程序资源时,我曾经遇到过这个问题。不确定哪一个会被先复制,而且我确实曾经遇到了交替出现的情况。 - bshirley

3

请确保将其添加到捆绑包中。为此,请在XCode左侧导航面板中选择图像,在文件上获取信息,并确保启用了您的目标的复选框。还要确保该文件确实是png格式,而不仅仅是以这种方式命名。


嘿,Coney。我再次确认了目标是否被选中,并确保该文件一定是PNG格式(使用Gimp打开并重新保存为png格式)。它仍然可以在模拟器上运行,但在设备上却不行 :(谢谢你的帮助。 - WoodenKitty

3

请检查拼写...我认为您正在使用"default.png"而不是"Default.png"。只需将"Default.png"的"d"大写即可。


2

如果您正在使用 iPhone 4,还需要添加一个尺寸为 640*960 像素的 Default@2x.png。
这就是我解决问题的方法。

顺便提一下,这个命名规则适用于应用程序中的所有图像。


2

可能会出现的另一个问题是,Default.png 实际上是被重命名为 .png 的 Default.jpg 文件。 在模拟器上这样做没有问题,但在设备上却行不通。


0
我曾经遇到过类似的问题,我的图片显示为灰色或灰色条纹。后来发现PNG图像上有一个alpha通道,模拟器没有问题,但是iPhone无法显示。我在Mac上使用预览打开这些图像,并重新保存它们时去掉了alpha通道,然后一切正常了。不知道这是否是你的问题,但值得一试。

PS - 我最初是在 Photoshop 中创建文件,并从那里将它们保存为 PNG 文件。 - Ryan

0

我知道这是老问题,但我遇到了完全相同的问题。图片在模拟器上正常显示,但在设备上不显示。我注意到我的项目有很多奇怪的事情,比如我的plist文件中有3-4个“Default.png”图像,还有一些其他的“Default.png”图像在不同的库和其他地方,我没有注意到。

我尝试了所有方法来让它们显示出来,但是在创建一个新项目并将启动图像设置为我要使用的完全相同的图像后,它们可以正常工作。我唯一能想到的是,在某个地方,项目被损坏了,无法理解这些启动图像的作用。


0

我曾经遇到过同样的问题,这是由于将初始文件保存为default.png导致的,因此应该使用Default.png(普通)和Default@2x.png(视网膜)图像。

进入您的项目plist并添加一行“启动图像” - 使用不同的文件名。使用此名称保存您的图像(并为视网膜添加@2x.png)。之后应该没问题了。

另外,如果您已经在设备上安装了应用程序,请从设备中删除该应用程序(因为以前的安装可能不会影响更改)。


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