我希望在使用Xcode 6.0.1构建的应用程序中显示一个简单的启动屏幕。
我已经通过两种方式添加了启动屏幕:作为XIB(默认名称为LaunchScreen.xib)和作为xcassets中的launchimage设置。
我确保我的“启动屏幕文件”设置为LaunchScreen.xib。
我模拟了每个可用的设备(例如,“iPhone5 iOS8” /“iPhone5s iOS8” /“iPhone6 iOS8”。请注意,模拟器中仅提供iOS 8)。
我希望在使用Xcode 6.0.1构建的应用程序中显示一个简单的启动屏幕。
我已经通过两种方式添加了启动屏幕:作为XIB(默认名称为LaunchScreen.xib)和作为xcassets中的launchimage设置。
我确保我的“启动屏幕文件”设置为LaunchScreen.xib。
我模拟了每个可用的设备(例如,“iPhone5 iOS8” /“iPhone5s iOS8” /“iPhone6 iOS8”。请注意,模拟器中仅提供iOS 8)。
这个应该是件小菜一碟的事情,但是我却遇到了很多问题。这是我做的:
使用xcassets
我决定使用.xcassets来代替启动页的 .xib 文件,并删除了 .xib 文件。如果你的项目中已经有 images.xcassets,那太好了,否则你可以从 File > New > file 添加一个:
创建启动图片集
现在,在导航区域右键单击,至少要在 .xcassets 文件中创建一个启动图片集和图标集。
更新应用图标和启动画面设置
然后,我确保我的目标中的“应用程序图标和图像集”的设置如下所示。
非常重要:确保“Launch screen file”设置为空白。
添加图片
最后,苹果用于设备选择的术语很令人困惑。最初,我认为由于我仅部署iOS8(iPhone Portrait),我可以这样做,并只放置 iPhone 6 和 iPhone 6+ 的启动图片:
我很快意识到这并不是这样工作的,并且我收到了一个警告:“需要一个适用于 iOS 7.0 及更高版本的 iPhone Retina(4 英寸)启动图像。”
所以,我不得不选择 iOS 7.0 及更高版本下的 iPhone 并添加一个 iPhone 5s 图像。
因此,要找出右侧应选哪些框,请不要问自己:“我的最小 iOS、设备和设备方向是什么”,而应该问:
有哪些设备可以支持我的最低iOS版本?那么这些设备所支持的最低iOS版本是什么?请确保勾选所有这些框。对于我来说,我以8.0为目标定位iPhone 5s、6和6 Plus,但考虑到iPhone 5s也可以存在7.0版本,我需要勾选7.0版本框以显示图像占位符。换句话说,右侧的(iOS)复选框显示了该设备可用的最低iOS版本,您需要单击它以显示图像占位符,并放置一个图像,无论您是否在部署此iOS版本。
LaunchScreen.xib
和Launch screen interface file base name
是我从经验中发现在创建项目时都是占位符。如果您想要仅使用Images.xcassets
作为启动屏幕,请删除LaunchScreen.xib
和info.plist
项。
如果提供了info.plist
设置,您的应用程序将使用xib
而不是Images.xcassets
Xcode 8:
在LaunchScreen.xib中使用的图片不应该放在.xcassets里,尝试将它们放到bundle中。
看起来,在加载.xib时,.xcassets中的图像尚未可用。
编辑:由于添加了一些本地化,启动屏幕停止工作了,现在它可以使用从资源库中获取的图像,非常奇怪。
/Library/Caches/Snapshots/<<app_bundle>>/
,在支持文件被加载之前完成,包括自定义字体和资源目录。 - andrewbuilder对我而言,卸载应用并重新启动模拟器是有效的。再次安装时,启动图像出现了预期效果。这种方法也在实际设备上奏效。
对于使用Asset Catalog的启动图
的用户,就像我学到的那样,我曾经遇到这样一种情况:我首先收到了一个jpg
文件,然后要求他们将其转换为PNG
。
我相信他们足够靠谱,所以我首先搜索了互联网,想知道为什么启动图没有显示,并尝试了所有解决方案,但都没有成功。然后我尝试着放回旧的启动图,结果正常工作,这时我才意识到我手上的文件不是真正的PNG
文件。
简而言之: 确保你使用的是真正的PNG文件,而不是重命名扩展名的文件。
我把Info.plist文件中的“Launch screen interface file base name”删除并将“Launch Screen.xib”放入废纸篓,这对我很有效。
对我而言,只需删除并重新安装应用程序即可解决问题:
2. 创建启动屏文件
3. 将您的图像添加到启动屏幕文件中
4. 将启动屏幕文件添加到您的目标中
启动您的应用程序,您的闪屏应该显示出来。还可以在iPhone6和iPhone6+上尝试,您的应用程序应该正确显示,没有任何缩放(启动屏幕文件旨在实现此目的)。
在这个问题上我苦恼了几个小时,最终决定使用以下方法。这种方法适用于iPhone和iPad(在Xcode 6.1上)。
- 文件 >> 新建文件 >> 用户界面 >> 启动屏幕
- 在YourApp-Info.plist中创建新的键/值:"Launch screen interface file base name" / "Your Launch Screen Name"
一张图片胜过千言万语,请看下图: