如何为iPhone 6和6 Plus上的应用程序启用原生分辨率?

Xcode 6 GM现在包含iPhone 6和6 Plus的模拟器,默认情况下它们以缩放模式运行应用程序。

为了启用新的屏幕大小,我尝试添加Default-667h@2x.png这似乎是做了一部分的技巧,因为应用程序现在无法运行,错误“无法在模拟器中运行应用程序 – 遇到错误在运行(域= LaunchServicesError,代码= 0)“。

有没有人想过如何让一个应用程序实际运行在6/6 +分辨率?

您可以添加一个似乎适用于多种屏幕尺寸的启动屏幕文件。 我只是添加MainStoryboard作为启动屏幕文件,并停止扩展应用程序。 我想我以后需要添加一个永久的启动屏幕,但是这样可以使本机的分辨率提高并且工作得很快。 在Xcode中,转到您的目标,并在其中添加启动屏幕文件。

启动屏幕文件

如果您正在使用资产目录,请转到LaunchImages资产目录,并为两个新iPhone添加新的启动图像。 您可能需要右键单击并select“添加新的启动图像”以查看添加新图像的位置。

iPhone 6(Retina HD 4.7)需要750 x 1334的肖像启动图像。

iPhone 6 Plus(Retina HD 5.5)要求尺寸分别为1242 x 2208和2208 x 1242的纵向和横向图像。

我已经制作了基本的黑色启动屏幕,可以使应用在iPhone 6和iPhone 6+上正确缩放:

iPhone 6肖像

iPhone 6 Plus肖像

如果您的.xcassett中已经有了LaunchImage,请打开它,切换到Xcode右侧菜单中的第三个选项卡,并勾选iOS 8.0 iPhone图像以将其添加到现有设置中。 然后拖动图像:

在这里输入图像描述

我不想介绍一个资产目录。

根据seahorseseaeo 在这里的答案,添加以下内容到info.plist为我工作。 (我把它编辑为“源代码”)。然后,我将图像命名为Default-667h@2x.png和Default-736h@3x.png

 <key>UILaunchImages</key> <array> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>8.0</string> <key>UILaunchImageName</key> <string>Default-667h</string> <key>UILaunchImageOrientation</key> <string>Portrait</string> <key>UILaunchImageSize</key> <string>{375, 667}</string> </dict> <dict> <key>UILaunchImageMinimumOSVersion</key> <string>8.0</string> <key>UILaunchImageName</key> <string>Default-736h</string> <key>UILaunchImageOrientation</key> <string>Portrait</string> <key>UILaunchImageSize</key> <string>{414, 736}</string> </dict> </array> 

请注意,如果您在iPhone>设置>显示和亮度>视图中启用了“显示缩放”,则iPhone 6将使用320pt(640px)的分辨率。

执行以下操作(见照片)

  1. 转到资产目录
  2. 右键单击并select“添加新的启动映像”

    • iPhone 6 – > 750 x 1334
    • iPhone 6 Plus – > 1242 x 2208和2208 x 1242

在这里输入图像描述

运行时遇到错误(Domain = LaunchServicesError,Code = 0)

通常这表明installd在安装过程中返回了一个错误(不好的资源或类似的东西)。

不幸的是,Xcode不显示实际的底层错误(随意提交这个已知的错误的愚蠢)。

你应该检查〜/ Library / Logs / CoreSimulator / CoreSimulator.log这将logging你的基本错误。

如果您正在使用资产目录,并且有多个使用相同资产目录文件的目标,请确保此文件已在xcode的右侧面板中同时检查了两个目标。

那是我的问题。

在这里输入图像描述