启动图像未显示在 iOS 应用程序中(使用 Images.xcassets)
Posted
技术标签:
【中文标题】启动图像未显示在 iOS 应用程序中(使用 Images.xcassets)【英文标题】:Launch Image not showing up in iOS application (using Images.xcassets) 【发布时间】:2015-02-27 16:28:18 【问题描述】:让我的启动图像显示在我的应用程序中时遇到了一些问题。
我已在名为“LaunchImage”的资产集中的 Images.xcassets 文件中创建了所有静态图像文件。
我注意到我的项目还包含一个 LaunchScreen.xib 文件(由 Xcode 自动创建)。
当我在我的 iPhone6 设备上运行应用程序时,会出现这个 .xib 文件。它不会出现在 iPhone4s 的模拟器中(这是有道理的,因为 xib 启动屏幕仅适用于 ios 8 +)。
我想使用我创建的静态图像,因为它们符合 Apple 准则,并与我的应用程序一起使用。但是,我没有任何运气让它出现。
我注意到在项目设置下有一个名为App Icons and Launch Images
的部分。我看到 .xib 是如何通过我假设的 Launch Screen File 选项连接的。
但是,有一个名为Launch Image Sources
的选项。这是做什么的?
我发现了这个:http://matthewpalmer.net/blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/。但是,它没有解释有关“启动图像源”选项的任何内容。
Launch Image Sources
旁边有一个名为“使用资产目录”的按钮。当我单击它时,它只是说将启动图像迁移到资产目录。您现有的启动图像将被复制到一个新的图像集中。选择要使用的资产目录: 。
这让我很困惑,因为我已经创建了资产目录,而且我绝对不希望它覆盖 images.xcassets 文件。那么,如何将其链接到我已经创建的启动图像资产集?另外,它所指的“现有启动图像”将被复制到新的图像集中吗?
谢谢!
UPDATE 1
所以,我尝试了迁移图像选项并选择了新的设置选项。这导致创建了一个我删除的新图像集。但是,启动图像源中留下的名称设置为 LaunchImage,它以某种方式连接到包含我的启动图像的图像集。它确实弄乱了我的 LaunchImage 集——图像被设置为未分配。我删除了它们并将我的文件拖到 LaunchImage 资产集中的适当框中。但是,当我运行该应用程序时,它仍然无法正常工作。 =( 启动图片不显示。
我什至删除了Launch Screen File
中的信息(我的假设是连接到 .xib 文件的设置)。尽管如此,.xib 文件还是出现在我的 iPhone6 设备上。 =(
有什么想法吗?
【问题讨论】:
【参考方案1】:我遇到了这个问题。我在模拟器上测试过。我将“启动屏幕文件”留空,并删除了 plist 中有关“启动屏幕文件”的行。我重新启动了 Xcode。没有。在我的情况下,不是黑色,而是白色。 Xcode 7 目标 ios 9。
我也读过这个:Launch Image does not show up in my iOS App
只有当我从模拟器中删除应用程序并再次运行应用程序时,才会显示启动图像。
【讨论】:
真机也需要重启设备。 @iluvatar_GR 我在 xamarin.ios 中遇到了同样的问题。你的回答帮我解决了!!!【参考方案2】:我终于明白了!
因此,在您的项目设置中,转到以下部分:App Icons and Launch Images
如果您不想使用 .xib 文件,请删除 Launch Screen File
中的信息。
然后,在Launch Image Source
中,如果您已经创建了 LaunchImage 文件并将图像添加到其中,请选择迁移。然后单击显示的资产目录。包含您的启动图像的名称。
这将在您的图像集中创建一个新的 Launch-Image2。要使用您已经创建的,请单击 Launch Image Source 旁边的下拉菜单。你应该看到你的另一个启动图像集。选择它。然后重新构建您的应用程序并运行它。您应该看到您的启动图像。 =)
希望这会有所帮助!
注意:它不会删除您在资产目录中已有的图像。它只会创建一个新的 LaunchImage 资产集。
参考:https://developer.apple.com/library/ios/recipes/xcode_help-image_catalog-1.0/chapters/StoringAppIconsandLaunchImagesinanAssetCatalog.html
【讨论】:
我似乎仍然无法摆脱“由 React Native 提供支持”,即使我已经删除了在启动屏幕文件中找到的信息,所以它是空白的并且不显示 .xib 文件。它似乎仍然使用它。如果我删除它,则构建失败并说它找不到 .xib 文件。我在这里做错了什么? @Chipe 我将 .xib 文件留在了我的项目中。我只是不使用它。它没有在我的构建设置中配置为使用它。您是否删除了“启动屏幕文件”中连接它的设置? 完成上述更改后,您仍然看不到更改(启动屏幕),请尝试重新安装应用程序。【参考方案3】:这太重要了!
应该是空! Launch Screen File
【讨论】:
除此之外,还要清理和重建您的项目,删除应用程序并将其重新安装到设备上。首先我尝试在这里只放一个空字符串,但它还没有工作。【参考方案4】:有效的解决方案。节省了我的时间,希望它也能节省您的时间。
确保您的图片尺寸符合Apple Guidelines。 确保您只选择一个选项,启动屏幕文件或启动图像源。您可以在 Project build settings -> General 中找到这两个选项清理并构建。
分步推荐解决方案:
-
在那里创建启动图像资产(名称为 LaunchImage)
Image.assets 文件夹。
在 Launch Image Source 选项中选择 LaunchImage 资产。
以及清除启动屏幕文件中的文本选项。
清理和构建。
下面是正确配置的参考图:
【讨论】:
确保在删除启动屏幕文件后清理构建并主要重置模拟器。 @shyla 这就是重点!重置模拟器并进行清理,只需删除应用程序不会有任何区别。 Tnx RemovingLaunch Screen File name
from target > general 会从 info.plist 中删除条目 Launch screen interface file base name
所以这就是诀窍
我尝试了类似的方法,但没有成功:***.com/questions/43168145/… 知道为什么吗?非常感谢。
@VaddadiKartick 重置您的模拟器并重试。最好能检查它是否在真实设备上运行。【参考方案5】:
我在 XCode 9.4.1 中遇到了这个问题,原来是由于资产文件夹未包含在 Bundle Resources 中。 选择项目,然后选择您的目标。转到“构建阶段”并打开“复制捆绑资源”。如果您要使用的 .xcassets 组未列出,则只需从文件浏览器中将其拖入即可。
为我工作...
【讨论】:
【参考方案6】:经过几个小时不清楚的答案: 1) 转到 xCode 中的设置应用程序常规部分。 2) 向下滚动到应用程序图标和启动图像。 3) 清除启动屏幕文件(将其留空) 4) 将 Launch Images Source 设置为 LaunchImage(记得在 Assets.xcassets 中创建) 现在应用程序将使用您在 LaunchImage 中设置的图像。
【讨论】:
【参考方案7】:今天遇到了类似的问题。尝试让 xCode 自动创建 Asset,但始终未分配。
解决方案是在 ImageAsset 中手动创建启动图像,并为他各自的分辨率分配文件。
看起来 xCode 创建了不同类型的 Launch Image 资源,所以它没有 识别资产 (v8.3.2)
【讨论】:
【参考方案8】:解决了!我已经尝试了很多。问题是启动图像显示在模拟器中,而没有显示在真实设备中。我有一个带有 UIImageView 的故事板。奇怪的是旧图像有效,而我最近添加的图像却没有。首先,我认为这是资产的问题。不。我检查了颜色配置文件并使用不同的配置文件做了很多尝试:左工作图像,右不工作。没有帮助。
然后我启动google,发现this线程
这里的主要解决方案:
1) 对我没有帮助。
使用预览应用更改我的启动图像的图像属性:[工具 --> 分配配置文件... --> ColorSync 配置文件: ]
2) 帮助
即使删除应用程序并从 XCode 重新安装也不起作用。 但是,更改捆绑 ID 确实有效。在没有其他变化的情况下, 现有捆绑包 ID 不显示图像,但新捆绑包 ID 显示它们 一切正确。我这样做是一种临时的解决方法,因为 该线程中的上一篇文章建议通过安装构建 TestFlight 没有遇到这个问题。
3)
我做了三件事(前两件事自己没有做,但可能帮助了第三件事) 1)将所有图像复制到根目录(与 xcode 放置图像) 2) 在 Images.xcassets 中创建一个文件夹并将图像放在那里。 3)launchScreen.xib 中的图片最初被调用 图像名称.png。这已更改为仅 imageName(删除文件 扩展名。
在第三件事之后,图像出现了。不知道有没有 前两个步骤是必需的,但希望它对某人有所帮助。
4) 有帮助,但又旧又粗鲁
从资产目录中取出图像为我解决了这个问题。 我刚刚将启动屏幕上使用的@1x、@2x 和@3x 图像添加到 该项目采用旧方式,似乎运行良好。尝试去 现在通过 TestFlight 确认,但 iTunes Connect 没有运行 目前。
我认为这是 iPhone 现金问题。所以你不需要警告它,因此在使用 testFlight 安装时会显示图像。在得出这个结论之后,我做了下一步并且奏效了:
1) 卸载应用 2) 重启手机 3) 为手机构建应用程序
【讨论】:
【参考方案9】:我刚刚想通了。我的启动图像未显示,在设备(iPhone 6、7+)或 testFlight 上启动时出现白屏。修复:将“Landing_screen.png”重命名为“Landing_screen”,删除 .png 部分。 https://***.com/a/43592662/3445278
【讨论】:
【参考方案10】:关闭模拟器并再次打开它对我有用
【讨论】:
【参考方案11】:我也面临同样的问题。
在初始屏幕中图像未显示,但标签和视图等其他内容正确显示。
要解决问题,请先验证代码中的所有上述设置。如果没有任何效果,那么重启 iPhone 可以解决我的问题。
希望对这里的人有所帮助(乐于帮助):)
【讨论】:
【参考方案12】:我刚刚在同一个问题上花了一点时间,但找到了答案,并将其放入Youtube Tutorial
创建您的艺术作品图像。 1024x1024,符合 Apple 对 Appicon 和 LaunchImage 的要求 设置一个文件夹来保存您新创建的 Assets.xcassets 打开 Asset Creator Pro 并将您的新图像拖入其中。 先制作应用图标,将创建的文件放入新文件夹。 使用 SAME 图像,然后选择 LaunchImages,然后将创建的集合“追加”到新的现有 Assets.xcassets 中 打开您的 XCode 项目,并删除 eisting - 可能是空的 - Assets.xcassets 文件夹。如果您有其他文件,那么只需 删除 Appicons 和 Launchimages 集。 将新创建的资产拖到 XCode 项目中,确保将选项设置为复制文件。有时这可以关闭! 小心。 检查卡带中的内容,您应该会看到新图像。 确保项目设置中的 Launch Screen File 行为空白。 确保您的 LaunchScreen 故事板为空白。里面的任何东西都不会加载图像。
测试一下。
观看视频。
【讨论】:
【参考方案13】:应该是空的!启动屏幕文件
对我有用
【讨论】:
以上是关于启动图像未显示在 iOS 应用程序中(使用 Images.xcassets)的主要内容,如果未能解决你的问题,请参考以下文章
iOS IMA SDK - 关闭应用内浏览器后视频未恢复(单击了解更多后)
iPhone 应用程序启动图像未显示在 iPad mini 中
Xamarin Forms / Mobile Blazor Bindings - 图像未显示在 iOS 应用程序中,但在 Android 应用程序中很好