我有一个现有的只支持风景的应用程序,我正试图添加对iPhone 6/iPhone 6 Plus的支持。当我支持iOS 6/7时,我只使用默认命名的启动纵向图像,将横向图像旋转为纵向(即,对于4英寸屏幕,我创建了横向1136×640,然后旋转以创建640×1136启动图像)
我正在尝试一些适用于iOS 8和iPhone 6/6+的产品,但还没有找到合适的产品。以下是我尝试过的一些产品:
- 遵循4“屏幕启动图像约定的模式。我创建了默认值[email protected]违约[email protected]图像。这确实欺骗了模拟器以正确的iPhone 6/6+分辨率运行,但在启动时,使用的是4英寸屏幕的启动图像,而不是我创建的新图像
- 使用资产目录-我在LaunchImages资产中创建iPhone 6和iPhone 6 Plus的纵向发布图像,以及iPhone 6 Plus的横向发布图像。iPhone 6 Plus可以工作,但iPhone 6只是显示一个黑屏。(无法在资产目录中创建iPhone 6横向发布图像)
- 在Info.plist中指定UILaunchImages数组,并为所有屏幕大小指定条目(请参阅参考https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW28)。我得到的结果与这里的资产目录类似。我可以让iPhone 6 Plus横向运行,但不能让iPhone 6横向运行
我找到了一个解决办法,可以让仅支持横向发布的图像在iOS 8 GM上运行。我最终在Info.plist中使用了UILaunchImages数组。诀窍是让图像显示出来,而不明确支持横向(iPhone 4/4S、iPhone 5/5S/5C、iPhone 6)您需要指定重复的条目。请参阅下面的示例。这适用于只支持iPad两个方向的横向手机应用程序。iOS 7将返回默认图像名称
除iPhone 6 Plus启动图像外,所有iPhone启动图像都需要像往常一样旋转为纵向。它本机支持横向启动图像,因此您需要将其启动图像保留为横向
以下是您的Info.plist的相关部分:
<;key>;UILaunchImages<;/key>;
<;阵列>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;字符串>;默认值<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;纵向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{320480}<;/string>;
<;/dict>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;字符串>;默认值<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;横向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{320480}<;/string>;
<;/dict>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;字符串>;默认值-568h<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;纵向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{320568}<;/string>;
<;/dict>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;字符串>;默认值-568h<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;横向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{320568}<;/string>;
<;/dict>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;string>;默认值-667h<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;纵向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{375667}<;/string>;
<;/dict>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;string>;默认值-667h<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;横向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{375667}<;/string>;
<;/dict>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;字符串>;默认值-736h<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;纵向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{414736}<;/string>;
<;/dict>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;字符串>;默认值-736h<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;横向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{414736}<;/string>;
<;/dict>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;字符串>;默认肖像<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;纵向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{768,1024}<;/string>;
<;/dict>;
<;dict>;
<;key>;UILaunchImageMinimumOSVersion<;/key>;
<;string>;8.0<;/string>;
<;key>;UILaunchImageName<;/key>;
<;string>;默认景观<;/string>;
<;键>;UILaunchImageOrientation<;/key>;
<;string>;横向<;/string>;
<;key>;UILaunchImageSize<;/key>;
<;string>;{768,1024}<;/string>;
<;/dict>;
<;/array>;