启动图像不显示在我的iOS应用程序

我想要获得一个简单的启动屏幕,在我的应用程序中显示,使用Xcode 6.0.1构build。

我已经通过两种方式添加了启动屏幕:作为XIB(默认名称为LaunchScreen.xib)以及在xcassets中设置为launchimage。

我已经确定我的“启动屏幕文件”设置为LaunchScreen.xib。

我已经模拟了所有可用的设备(例如,“iPhone5 iOS8”/“iPhone5s iOS8”/“iPhone6 iOS8”。注意,模拟器中只有iOS 8可用)。

所以这对于那些微不足道的东西来说是相当痛苦的。 这是我做的:

使用xcassets

我决定使用.xcassets与.xib启动。 我删除了.xib。 如果你已经在你的项目中有images.xcassets那么很好,否则你可以从文件>新build>文件添加一个:

AddNewASsetCatalog

创build一个启动图像集

现在,通过右键单击导航区域,在.xcassets文件中至less创build一个launchimage集和图标集。

添加新的启动图像和应用程序图标

更新应用程序图标并启动图像设置

然后我确定我的目标中的“应用程序图标和图像集”如下。

非常重要:确保“启动屏幕文件”设置为空白。

应用图标和图像集

添加图像

最后但并非最不重要的是,苹果用于设备select的术语是令人困惑的。 起初,我认为,因为我只为iOS8(iPhone肖像)部署,我可以做到这一点,只是放在iPhone 6和iPhone 6 +启动图像:

设备

我很快意识到,这不是这样的工作方式,我得到了一个警告:“iOS 7.0和更高版本的iPhone视网膜(4英寸)启动图像是必需的。

所以我不得不在iOS 7.0以下的版本中selectiPhone,并为iPhone 5s添加一个图片。

因此,要找出哪些方框要在右边查看,请不要问这个问题:我的最低iOS和设备和设备方向是什么,而是询问:

那里有哪些设备可以支持我的最低iOS? 现在,这些设备支持的最低iOS是什么? 并确保您检查所有这些框。 所以对于我来说,我的目标locking为iPhone 5s,6和6 Plus,但是由于iPhone 5s可以存在7.0,所以我需要检查7.0盒子以显示图片占位符。 换句话说,右边的(iOS)checkbox显示了该设备可用的最低iOS版本,无论您是否在此iOS版本进行部署,都需要点击该图标以显示图像占位符并放置图像。

希望这有助于某人。

添加所有设备

在这里输入图像说明

LaunchScreen.xib和信息值Launch screen interface file base name是从我的经验创build项目时创build的两个占位符。 如果您希望将Images.xcassets专门用于启动屏幕,请同时删除LaunchScreen.xibinfo.plist项目。

如果您提供info.plist设置,您的应用程序将使用xib而不是您的Images.xcassets

LaunchScreen.xib中使用的图像不应放在.xcassets上,请尝试将它们放在包中。

看起来像.xib加载时,.xcassets中的图像尚不可用。

编辑:添加一些本地化后的一些不透明的原因,启动屏幕停止工作,现在它与资产的图像工作,非常奇怪。

我的解决scheme是创build所有的启动图像。 在这里输入图像说明

然后,我将Launch Images Source设置为LaunchImage资源,并将启动屏幕文件留空。

最后,如果项目没有启动Screen.xib,那么添加该文件并保持原样。 在这里输入图像说明

对于那些使用Asset Catalog's Launch Image的人来说,正如我学到的最难的方法,我有这种情况下,我第一次给了一个jpg文件,然后我问他们将其转换为PNG

我相信他们足够了,我首先search了互联网,为什么发布的形象没有显示,并没有得到任何解决scheme,然后我试图恢复旧的发射形象,工作正常,在那里,我想我是什么有不是一个适当的PNG文件。

TL; DR: 确保您实际使用的是正确的PNG文件,而不是重命名扩展名的文件。

从Info.plist文件中删除“启动屏幕界面文件基本名称”和垃圾“启动Screen.xib”为我工作。

对我来说,当我卸载应用程序,然后重新启动模拟器时,它工作。 再次安装时,启动图像按预期显示。 这也适用于实际的设备。

经过几个小时的沮丧,我决定用这种方式。 它适用于iPhone和iPad(在Xcode 6.1上)

  1. 文件>>新build文件>>用户界面>>启动屏幕
  2. 在YourApp-Info.plist中创build新的键/值:“启动屏幕界面文件基本名称”/“您的启动屏幕名称”

1张图片胜过千言万语。 请看下面:

文件>>新建文件>>用户界面>>启动屏幕

在YourApp-Info.plist中创建新的键/值“启动屏幕界面文件基本名称”/“您的启动屏幕名称”

接受的答案的问题是, 如果您没有设置启动屏幕文件,您的应用程序将在设备上升级模式,如iPhone 6和6+ =>模糊渲染。

下面是我在每个设备上都做了一个完整的工作解决scheme(我的目标是iOS 7.1和使用Xcode 8)(真的,我对这个升级问题感到疯狂)

1.准备你的.xcassets

为了简化它,我使用了一个vector.PDF文件。 这是非常方便,避免为每个分辨率(1倍,2倍,3倍…)创build多个图像。 我也假设你已经创build了你的xcassets。

  • 将您的启动屏幕图像(或vector文件)添加到您的项目
  • 转到您的.xcassets并创build一个新的图像集 。 在图像的属性窗口中,select比例 – >单比例
  • 将vector文件拖放到图像集中。

为.xcassets创建一个图像集

2.创build您的启动屏幕文件

创建一个启动屏幕文件

3.将图像添加到启动屏幕文件

  • 将图像视图对象添加到启动屏幕文件(删除自动创build的标签)。 这个图像视图应该参考以前的.xcassets图像集 。 你可以从Name属性中引用它。 在这个阶段,你应该在你的图像视图中正确地看到你的启动屏幕图像。
  • 将约束添加到此图像视图以保持高宽比取决于屏幕分辨率。

将启动屏幕图像添加到启动屏幕文件

4.将您的启动屏幕文件添加到您的目标

最后,在您的Target General属性中,请参阅启动屏幕文件。 目标属性和启动屏幕

启动你的应用程序,并显示你的启animation面。 尝试在iPhone6和iPhone6 +上,你的应用程序应该正确显示没有任何升级(启动屏幕文件旨在做到这一点)。

我已经阅读了关于xCode 6中的一个错误,它可以防止只显示应用程序显示启动图像。

尝试在Images.xcassets中设置图像和方向:

在这里输入图像说明

做什么Spectravideo328回答和:

尝试取消检查iOS7.0及更高版本的框,然后检查资产目录中的iOS6.0和更高版本的框。 iOS7.0 Launch Image似乎存在一个错误。 (除320×480之外,这两个图像都具有相同的启动图像)

Sry我不能张贴我的图片,因为我的名声(漂亮的新会员)

希望这有助于,它对我有帮助!

有一个错误,Xcode 6启动存储在资产文件中的图像,导致仅iPhone横向iOS7 / iOS8上的应用程序显示黑色启动图像。 iPad工作正常。

http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10868

解决scheme:使用新的Launchscreen.xib for ios8 +。 (这是好多了)

对于ios7设备的工作,你只需closures启动图像源,并在plist中使用旧学校启动图像文件名称

 iphone5 - Default-568h@2x.png iphone4s - Default@2x.png ipad2 - Default-Landscape~ipad.png ipad retina - Default-Landscape@2x~ipad.png 

痛苦,但工作。 乙
在这里输入图像说明

我在我的资产目录中设置了“LaunchImage”,只需清除“Launch Screen”字段即可! 我有启动图像显示…

一种方法是添加“启动屏幕”LaunchScreen.xib ),将图像粘贴到UIImageView ,如果使用自动布局,则将其设置为“alignment”中的 容器中的 水平中心 ”和“ 容器中的垂直中心 ”。

屏幕: http : CfnHT.png

不要忘记将LaunchScreen.xib放入“启动屏幕文件”。

在我开始使用Xcode 6.1并更改了我的启动器映像后,我遇到了同样的问题。 我拥有资产目录中的所有图像。 我只会得到一个黑色的屏幕,而不是预期的静态图像。 尝试了很多东西之后,我意识到问题在于资产目录在其FileInspector视图中打勾了项目“目标成员”。 把它贴在ON上,魔法和图像开始出现在应用程序发布上。

  • 根据苹果的指导方针,确保您的图像尺寸准确。
  • 请确保,您将只select一个选项,启动屏幕文件或启动图像源。 您可以在项目构build设置 – >常规中find这两个选项

我的build议是select启动图像源为Image.Assets。 在Image.assests文件夹中创build飞溅图像资源。

正确configuration的参考图像: 在这里输入图像说明

我试着打开一个新的项目,并通过设置启动屏幕的相同步骤。

默认情况下,.xib设置为“启动屏幕文件”,在模拟器中带有标签的白色屏幕显示半秒。

然后是“启动图像源”,并将其设置为与添加到项目中的背景图像一起生成的Images.xcassets。 (迄今为止都很好)

重新运行模拟器,启动图像不显示…

从顶部菜单中删除指定的“启动屏幕文件”和清洁:产品 – >清洁后,启动图像终于显示出来。

也许这将有助于?

我遇到这个bug也与我的风景只有应用程序,按照carlodurso的解决scheme的作品:

  1. 勾选“Lanscape”框
  2. 将图像拖放到该位置。

有一个文件“LaunchScreen.xib”自动添加到您的项目删除这将转移xCode使用Images.xcassets中的默认图像

编辑添加到应用程序图标和启动图像启动屏幕文件应该是空白/ emtpy

我有一个非常奇怪的错误。 显然,我的启动图像源仅用于debuggingconfiguration,而不是发布。 这导致我的启动屏幕出现在运行debuggingconfiguration时,但是当我更改为发布时,我只是得到了一个黑屏。

我修改了这个,当我改变我的构buildconfiguration,释放启动图像源button出现,我不得不再次select使用资产目录。

对于那些好奇的人来说,这就是我的project.pbxproj的样子。

 ... ... ... XXXXXXXXXXXXXXXXXXXXXXXX /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; <---THIS LINE WAS MISSING ... ... ... 

出于某种原因,我必须将资产目录位置更改为“相对于项目”才能使之正常工作。

我也从手机上删除了应用程序并重新安装,但这可能是“相对于项目”的做法。

*(Xcode 7.2 /部署目标7.0 /风景方向)*

我知道是一个老问题,但与Xcode 7.2我仍然得到的消息,我解决这个问题:

1)selectPORTRAIT和两个风景。 添加“启动图像源”和“启动屏幕文件”

在这里输入图像说明

2)在您的启动图像中selectiPhone“8.0及更高版本”和“7.0及更高版本”。

在这里输入图像说明

3)将这个代码添加到你的appDelegate中:

 #if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000 - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; } #else - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { return (UIInterfaceOrientationMaskLandscape); } #endif 

4)添加这个你的ViewController

 #if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000 - (NSUInteger)supportedInterfaceOrientations #else - (UIInterfaceOrientationMask)supportedInterfaceOrientations #endif { return UIInterfaceOrientationMaskLandscape; } 

我希望帮助别人。

这对我有效。 点击LaunchScreen.storyboard,然后在右侧面板中select“初始视图控制器”checkbox。

LaunchScreen.storyboard – >是初始视图控制器

我只是明白了这一点。 我的启动图像没有显示出来,在启动设备(iPhone 6,7+)或testFlight时出现白屏。 修正:将“Landing_screen.png”更名为“Landing_screen”,删除.png部分。 Xcode中的图像图标更改为白色图标,在启动屏幕故事板中图像现在显示为问号。 启动图像现在出现,而不是白色屏幕。 我的设置:我正在使用Xcode 8.3.1的Swift 3.1。 在LaunchScreen.storyboard中,我添加了一个简单的图像视图,并拉伸图像以适应视图控制器。 我将自动布局约束设置为Top / Bottom / Leading / Trailing空间以超级查看为0。

对我来说,当我删除LaunchScreen.xib并将其更改为故事板文件LaunchScreen.storyboard时,它可以工作。