答案是旧的应用程序在2208 x 1242放大模式下运行。但当为新手机构建应用程序时,可用的分辨率是:Super Retina HD 5.8 (iPhone X) 1125 X 2436 (458ppi), 视网膜HD 5.5 (iPhone 6,7,8 Plus) 1242 x 2208和视网膜HD 4.7 (iPhone 6) 750 x 1334。这就造成了问题中提到的混乱。要构建使用新手机全屏大小的应用程序,添加大小为1125 x 2436、1242 x 2208、2208 x 1242和750 x 1334的LaunchImages。
更新为新的iphone 12, 12 mini, 12 Pro, 12 Pro Max
尺寸为iPhone 12 Pro Max与@3x缩放,坐标空间:428 x 926点和1284 x 2778像素,458 ppi,设备物理尺寸为3.07 x 6.33英寸或78.1 x 160.8毫米。超视网膜XDR显示。
尺寸为iPhone 12 Pro与@3x缩放,坐标空间:390 x 844点和1170 x 2532像素,460 ppi,设备物理尺寸为2.82 x 5.78英寸或71.5 x 146.7毫米。超视网膜XDR显示。
尺寸为iPhone 12与@2x缩放,坐标空间:585 x 1266点和1170 x 2532像素,460 ppi,设备物理尺寸为2.82 x 5.78英寸或71.5 x 146.7毫米。超视网膜XDR显示。
尺寸为iPhone 12 mini与@2x缩放,坐标空间:540 x 1170点和1080 x 2340像素,476 ppi,设备物理尺寸为2.53 x 5.18英寸或64.2 x 131.5毫米。超视网膜XDR显示。
尺寸为iPhone 11 Pro Max与@3x缩放,坐标空间:414 x 896点和1242 x 2688像素,458 ppi,设备物理尺寸为3.06 x 6.22英寸或77.8 x 158.0毫米。超视网膜XDR显示。
尺寸为iPhone 11 Pro与@3x缩放,坐标空间:375 x 812点和1125 x 2436像素,458 ppi,设备物理尺寸为2.81 x 5.67英寸或71.4 x 144.0毫米。超视网膜XDR显示。
尺寸为iPhone 11与@2x缩放,坐标空间:414 x 896点和828 x 1792像素,326 ppi,设备物理尺寸为2.98 x 5.94英寸或75.7 x 150.9毫米。液体视网膜高清显示器。
尺寸为iPhone X🅂Max与@3x缩放(苹果名称:Super Retina HD 6.5显示"),坐标空间:414 x 896点和1242 x 2688像素,458 ppi,设备物理尺寸为3.05 x 6.20英寸或77.4 x 157.5毫米。
尺寸为iPhone X🅂和iPhone X与@3x缩放(苹果名称:Super Retina HD 5.8"显示),坐标空间:375 x 812点和1125 x 2436像素,458 ppi,设备物理尺寸为2.79 x 5.65英寸或70.9 x 143.6毫米。
let screen = UIScreen.main
print("Screen bounds: \(screen.bounds), Screen resolution: \(screen.nativeBounds), scale: \(screen.scale)")
//iPhone X🅂 and X Screen bounds: (0.0, 0.0, 375.0, 812.0), Screen resolution: (0.0, 0.0, 1125.0, 2436.0), scale: 3.0
尺寸为iPhone 6、6S、7和8与@3x缩放(苹果名称:视网膜HD 5.5),坐标空间:414 x 736点和1242 x 2208像素,401 ppi,屏幕物理尺寸为2.7 x 4.8英寸或68 x 122毫米。当在缩放模式下运行时,即没有新的LaunchImages或在iPhone 6 Plus的设置中选择,本机尺寸为2.88,屏幕尺寸为320 x 568点,这是iPhone 5的本机尺寸:
尺寸为iPhone 6和iPhone 6 s以@2x缩放(苹果名称:视网膜HD 4.7),坐标空间:375 x 667点和750 x 1334像素,326 ppi,屏幕物理尺寸为2.3 x 4.1英寸或58 x 104毫米。当在缩放模式下运行时,即没有新的LaunchImages时,屏幕是320 x 568点,这是iPhone 5的原始尺寸:
换句话说……视频、OpenGL和其他基于CALayers处理像素的东西将处理设备上真正的< em > 1920 x1080 < / em >帧缓冲区(或sim上的< em > 2208 x1242 < / em >)。处理UIKit中的点的事情将处理< em > 2208 x1242 < / em > (x3)边界,并在设备上适当缩放。