启动图像不显示在我的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>文件添加一个:
创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.xib
和info.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上)
- 文件>>新build文件>>用户界面>>启动屏幕
- 在YourApp-Info.plist中创build新的键/值:“启动屏幕界面文件基本名称”/“您的启动屏幕名称”
1张图片胜过千言万语。 请看下面:
接受的答案的问题是, 如果您没有设置启动屏幕文件,您的应用程序将在设备上升级模式,如iPhone 6和6+ =>模糊渲染。
下面是我在每个设备上都做了一个完整的工作解决scheme(我的目标是iOS 7.1和使用Xcode 8)(真的,我对这个升级问题感到疯狂)
1.准备你的.xcassets
为了简化它,我使用了一个vector.PDF文件。 这是非常方便,避免为每个分辨率(1倍,2倍,3倍…)创build多个图像。 我也假设你已经创build了你的xcassets。
- 将您的启动屏幕图像(或vector文件)添加到您的项目
- 转到您的.xcassets并创build一个新的图像集 。 在图像的属性窗口中,select比例 – >单比例
- 将vector文件拖放到图像集中。
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的作品:
- 勾选“Lanscape”框
- 将图像拖放到该位置。
有一个文件“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
时,它可以工作。
- iOS8委托方法中的无对象 – 自定义键盘
- UITableView在Swift中
- iOS8今天扩展使用只有自动布局的高度给破坏的约束
- 当用户点击下拉列表HTMLselect标签时,ios8 iPad uiwebview在显示popup窗口时崩溃
- 错误域= NSURLErrorDomain代码= -1005“networking连接丢失。”
- 如何在Swift中获得唯一的设备ID?
- 来自iOS8 GM的Popover的UIActionSheet
- 如何在iOS 8中正确设置应用程序徽章值?
- Xcode 6.0.1命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc失败,退出代码1