为 iPhone X 更新您的 app。

iPhone X 具有超视网膜显示屏,可实现更加身临其境的 app 体验。现在就开始测试您的 app,以确保他们已准备好善用绚丽的 5.8 英寸超视网膜显示屏,遵守安全区域的界定,支持自适应布局,以及更多。

在 Simulator (模拟器) 中运行和测试

今天就下载 Xcode 9 的最新版本,在模拟器中开始测试您的 app。在设备上进行测试之前,请先在 Mac 上检查并解决 app 中的用户界面问题。这将让您的 app 在 iPhone X 上显得更精美逼真。

启用全屏原生分辨率。如果项目的基础 SDK 设置为 iOS 11,且拥有 Launch Storyboard (启动故事板) 或 iPhone X 启动映像,您的 app 将在 iPhone X 上以全屏显示模式运行。

检查 app 中的所有部分。确保您的用户界面正确显示,没有元素错位,重叠,错误缩放或剪切的问题。如果发现问题,请查阅 safe area guides 和边距布局来正确定位用户界面元素。

如果 app 只有一部分在模拟器中运行 (例如,如果它主要使用 UIKit,但是具有摄像头集成功能),则您应该通过注释模拟器不支持的视图来尽可能全面地测试用户界面。了解更多关于模拟器的使用和支持技术的信息,请查阅 Simulator Help

遵守 Safe Area (安全区域) 的界定

您的布局应在填满全屏超视网膜显示屏的同时,保证内容和控件正确显示,且便于点按。遵守安全区域的界定,以确保您的 app 与 iPhone X 新的屏幕比例合作无间。

具有自定义布局的 app 也可以轻松支持 iPhone X,尤其当您的 app 使用 Auto Layout (自动布局) 并遵守相应的准则时。

Safe areas for iPhone X Safe areas for iPhone X

状态栏。遵守安全区域的界定,在状态栏下面留出适当的空间。避免为状态栏高度预设值,这可能会导致您的内容被状态栏遮挡或形成错位。

Correct use of status bar safe area for iPhone X
Incorrect use of status bar safe area for iPhone X

圆弧展示角和传感器槽。您的 app 的内容元素和控制按键应避开屏幕角落和传感器槽,让其在填满屏幕的同时不被角落切割。

Correct use of rounded corners and sensors housing safe area for iPhone X
Incorrect use of rounded corners and sensors housing safe area for iPhone X

主屏幕指示器。为使 app 的内容和控件始终保持清晰可见且便于点按,请确保您的 app 不会干扰主屏幕指示器。

Correct use of Home Indicator safe area for iPhone X
Incorrect use of Home Indicator safe area for iPhone X

屏幕边缘手势。iPhone X 显示屏利用屏幕边缘手势来访问主屏幕,app 切换器,通知和控制中心。请避免对这些手势造成干扰。您可将控件移到安全区域并调整用户界面。极少数情况下,您可以考虑使用边缘保护:用户的首个滑动手势将被视为 app 内的特定手势,第二次滑动才会被视为系统手势。

Incorrect use of Screen Edge Gestures safe area for iPhone X

支持不同的宽高比和屏幕方向

iPhone X 的屏幕高度和宽高比与其他 iPhone 手机不同。在竖屏时,iPhone X 显示屏的宽度与较旧型号 4.7" 显示屏的宽度相同,但其高度则比 4.7" 显示屏高 145 点。

确保您的代码能适应不同的屏幕宽高比。许多 app 会根据特定的宽度,高度或宽高比来定位其内容。请检查您的内容是否已正确缩放并定位。

Correct handling of screen aspect ratio for iPhone X
Incorrect handling of screen aspect ratio for iPhone X
Incorrect handling of screen aspect ratio for iPhone X

在横屏模式中测试您的 app。横屏模式通常能助您发现一些从竖屏模式中无法发现的问题。请确保在设备的各个旋转方向中,测试所有的用户界面。

Correct handling of landscape orientation for iPhone X
Incorrect handling of landscape orientation for iPhone X

调整视频的缩放度。iPhone X 上的视频内容应填满屏幕。但是,如果这导致顶部或底部被切割,或侧面裁剪太多,则应将视频拉伸或缩小以配合屏幕。当 AVPlayerViewController 自动管理时,基于 AVPlayerLayer 的自定义视频播放器需要选择适当的初始视频重力设置,并允许用户根据自己的喜好在 aspect (固定宽高比)aspectFill (固定宽高比且全屏) 观看模式之间进行切换。

更多详情,请查阅 Human Interface Guidelines

Correct video scaling for iPhone X
Incorrect video scaling for iPhone X

面容 ID更新

确保您的 Touch ID 代码也能用于面容 ID。如果您的 app 当前使用 Touch ID,您应更新文本字符串,使其在 iPhone X 上运行时能转换为面容 ID (例如“使用面容 ID 登录”)。请避免使用图标来表示面容 IDTouch ID。