我现在非常沮丧。我将Xcode升级到版本12,并在iOS 14上测试了我的应用程序。现在的问题是,我的启动屏幕仅显示为黑色。我使用iOS 13.5设备对其进行了测试,但仍可以按预期运行。我尝试删除了launchscreen.storyboard方法,并在info.plist中添加了Launch Screen键,但是随后将图像缩放为完整大小。
现在,我对launchscreen.storyboard进行了一些测试,发现了一些东西。
您是否遇到了iOS 14和情节提要方法的问题?
如果是,您如何解决?
答案 0 :(得分:11)
解决方法是在启动故事板中使用带有图像的按钮而不是图像视图。它就像一个魅力!!
答案 1 :(得分:8)
一种解决方法似乎对我有用:
出于一个奇怪的原因,如果我缩小图像的尺寸,那么效果很好。我有一个尺寸为2732x2732的全尺寸图片,但是它没有用。将同一图像的尺寸减小到2400x2400效果很好。我曾尝试使用2500x2500和2600x2600,但均无效果。
最重要的是,每次更改图像时,都必须重新启动模拟器以反映更新的图像。
它尚未在实际设备上运行。像模拟器一样,我必须重新启动设备,然后才能正常工作。
不确定是图像尺寸/大小还是重新引导图像。
其他更新:
我将相同的版本(具有较小的图像)上传到TestFlight并将其安装在我的设备上(基本上从具有大尺寸图像的先前版本进行了更新),不幸的是问题仍然存在:(
现在我要做的是卸载该应用程序,然后从TestFlight重新安装它。问题仍然存在。
最后,我不得不删除该应用,重启我的设备并再次安装该应用。这样就可以了。
答案 2 :(得分:3)
对我来说唯一可行的解决方法是将图像添加到Images.xcassets
文件夹之外。修改并重建应用程序后,它可以正常工作。
某些问题发生在iOS 14或XCode 12上。
答案 3 :(得分:3)
一个原因可能是图像的大小。由于 iOS 14 的启动屏幕图像限制为 25 MB,如 Apples Human Interface Guidelines 中所述。
具有 2.400x2.400 像素的图像将导致大约 22 MB 的内存大小。使用 2.500x2.500,我们达到了 25 MB。
我们遇到了同样的问题,其中 LaunchScreen.storyboard 中的全屏图像在 iPhone 12 等所有 @3x 设备上都是黑色的。仅将 @3x 启动图像的大小从 3.072x3.072 减小到 2.400x2.400 解决了这个问题。
方形图片是支持横向和纵向的简单方法。但它也应该适用于每个方向的不同图像,其中一张图像的总数小于 25 MB。
答案 4 :(得分:3)
因此,这里有很多好主意,但我终于能够解决问题-更像是一种解决方法。我需要将图片存储在Images.xcassets文件夹之外,然后它再次开始工作。这是一个很奇怪的问题。
答案 5 :(得分:2)
我遇到了这个问题
使用LaunchScreen.storyboard并在Assets.xcassets上使用图像时,不能在带有Xcode 12的iOS 14上使用。
我尝试将3x图像更改为2436×1125,然后将2x图像设置为828×1792。
最后,我必须删除该应用程序,重新启动设备,然后再次安装该应用程序。这样就可以了。
答案 6 :(得分:2)
有同样的问题。问题是启动屏幕故事板上使用的.png图像。这导致整个启动屏幕只是黑色。
解决此问题的方法是:
通过在我们的应用程序中将图像替换为另一图像,我发现图像是错误的来源。立即可以使用其他图像(无需重新启动或其他操作)。
答案 7 :(得分:1)
就我而言,以下工作完成了:-
从项目->常规->应用程序图标和启动图像->启动屏幕文件中删除启动屏幕文件。
转到info.plist文件并作为源代码打开。
在此处添加以下代码并更改图像名称:-
import com.sun.mail.imap.IMAPFolder;
import com.sun.mail.imap.IMAPFolder.FetchProfileItem;
import com.sun.mail.imap.SortTerm;
import javax.mail.Address;
import javax.mail.FetchProfile;
import javax.mail.Flags;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Store;
import javax.mail.UIDFolder;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.search.AndTerm;
import javax.mail.search.BodyTerm;
import javax.mail.search.FromStringTerm;
import javax.mail.search.FromTerm;
import javax.mail.search.OrTerm;
import javax.mail.search.SearchTerm;
import javax.mail.search.SubjectTerm;
在iOS 14中,此新密钥已发布(UILaunchScreen)。因此,下次请多加注意。如果出现错误,请检查info.plist文件。
快乐编码:)
答案 8 :(得分:1)
就我而言,未选中 ViewController 属性“是初始视图控制器”。此外,请务必将视图的颜色设置为实际颜色而不是系统颜色,否则您可能会遇到设备主题设置的问题。也就是说,如果您想显示特定颜色。
答案 9 :(得分:1)
对我有用的是:
将 xxx.pdf 图像放入 Assets.xcassets 并将“缩放”设置为单一缩放
在Launch Screen.storyboard中,设置imageView的图片为xxx,然后设置imageView
的width,height、centerX 和 底部以查看
然后为我工作
Xcode 12.5.1、iPhone 7 Plus、iOS 14.6
答案 10 :(得分:0)
因此,自2020年6月26日以来,我一直通过苹果的反馈系统与FB7795777纠缠于苹果。
我已经提供了我的项目和许多诊断报告,但它们再也没有修复。
但是,今天,我修复了它。
基本上,iOS / iPadOS SDK在启动屏幕过程中对如何支持.PNG和.JPG文件(大小或尺寸是我认为的问题)进行了一些更改。
解决方案:
在Photoshop中打开您的.PNG文件,然后选中“较小文件-8位”选项将其重新导出。它缩小到不到一半的大小,并且第一次工作。
答案 11 :(得分:0)
我也有这个。真是气死我了我的启动屏幕只是背景图片(2048x2048 PNG)和中间的图形(2048x2048 PNG)。
对我来说,解决方法是使用较小的中间图形(720x720 PNG),从任何资产目录中删除图像,然后将其添加到项目中。
直到重新启动模拟器,图像才显示在模拟器上。在构建并安装到iPhone上后,我无需重新启动它。
答案 12 :(得分:0)
这可能会帮助其他人,所以我在这里添加它。
我将Cordova用于混合应用程序,然后加载由Asset Catalog Creator(这是一个很棒的小产品)生成的图像资产。
在我更新到Xcode 12并尝试在iOS 14下运行它之前,它一直运行良好。
我发现,科尔多瓦正在添加“ CDVLaunchScreen.storyboard”,并且他们的资产目录中有一个“ LaunchStoryboard.imageset”(目录),其中仅包含一个contents.json文件。
我只是将其复制到资产目录中,然后将其拖放到更新的项目中(每次由Cordova生成),再次显示启动图像。
不要问我Xcode如何神奇地将这些东西连接在一起,但是对我有用。
如果有帮助,我可以传递与资产目录一起使用的contents.json。
顺便说一句,我的常规设置屏幕没有选择启动屏幕文件,但是Xcode似乎找到了所需的文件。
答案 13 :(得分:0)
我在XCode12 / iOS14和React项目中遇到类似的问题: launchscreen.storyboard在以前的版本中运行正常。自更新到XCode12以来,它显示如下:
如果我尝试在Info.plist中使用新的“启动屏幕”字典,则会遇到以下问题(在另一个Xamarin App中也是如此)
自Xcode 12以来,这完全是错误的!
答案 14 :(得分:0)
我有另一个可能的解决方案,因为现有的解决方案都不适合我。
我在我的资产文件中使用 PDF 向量,这通常效果很好。但事实证明它在启动屏幕上不起作用 - 如果它包含 PDF 图像,它只会显示完全跳过启动屏幕。
把它换成一个大的 PNG,问题解决了。
答案 15 :(得分:0)
唯一对我有用的是:
宾果游戏!!!
答案 16 :(得分:0)
什么对我有用:
单独说明一下,因为在我完成这两个步骤之前,我有黑色/损坏的发射法师。
答案 17 :(得分:0)
如果您的图像 xcassets 文件夹中的 @1x、@2x、@3x 图像为空白,您可能会看到此问题。
确保每个人都有图片。
您也可以选择您的 1 个图像,并在属性检查器(右侧)中将比例设置为“单一比例”
答案 18 :(得分:-1)