乐于分享
好东西不私藏

等了7年,iOS 27揭开苹果折叠屏的底牌

等了7年,iOS 27揭开苹果折叠屏的底牌

从iOS 27的第一个开发者预览版发布至今已有一个多星期了,对我们国内用户来说,苹果智能仍然未能适配,真正直观体验到的功能,可能就是前两天端午节期间的调休闹钟。

很多人只是把这次更新当成一次常规优化,却忽略了苹果藏在代码底层、整场WWDC上都未曾提及的关键伏笔。

这段时间以来,我一直在深度体验iOS 27的开发者测试版,从系统App的界面调整,到开发者文档里的措辞变化,再到代码深处那组此前从未出现过的参数字段——每一条单独拎出来都可以说是巧合,但凑在一起,就指向了一个再清晰不过的结论:折叠屏iPhone的系统适配,已经很完善了。

从2019年三星Galaxy Fold发布至今,安卓/鸿蒙阵营的折叠屏机型已经迭代了多个版本,蛰伏七年的苹果折叠屏iPhone也是即将浮出水面,外界长久以来的诸多猜想,也在这套系统更新里找到了不少答案。

原本砍掉的,又悄悄加了回来

过去几年,苹果对横屏应用的态度一直很微妙。从2017年的iPhone X开始,苹果就取消了主屏幕旋转功能,此后多年,苹果删删改改,陆续移除了不少系统界面和App的横屏模式。

然而到了iOS 27的首个开发者测试版中,画风突然一转:天气、音乐、播客、健康等十多个系统App,突然集体重新支持横屏模式。而且不是简单地把界面旋转90度,以天气App为例,它专门针对横版布局重新设计了信息板块的排版,整个界面都更符合横屏的显示逻辑,而不是敷衍的“旋转拉伸”。

与此同时,iOS 27引入了新的侧边栏设计规范,多款系统App新增了类iPad的多层展开式侧边栏。这套设计逻辑对于竖屏iPhone来说略显“奢侈”,但放在一台展开后为横向长方形的“阔折叠”设备上,就显得恰到好处了——侧边栏的多层级导航,在宽屏上比在窄屏上实用得多。

另一个佐证来自macOS 27的iPhone镜像功能。更新后,用户在Mac上运行iPhone镜像时可以调整窗口的长宽比了。一些在实体iPhone上不支持宽屏比例的App,在镜像窗口拉宽之后,展现出了对横屏布局的适配。更值得注意的是,天气App在镜像中拉宽后的布局,与实体iPhone横屏时的布局并不完全一致——前者更宽,几乎接近三折叠的比例。

这些细节加在一起,指向一个合理的推断:iOS 27上新增了这么多系统级的横屏功能,也许是为即将发布的宽比例折叠屏机型在铺路。

深挖代码,关键信息已确认

系统App的界面变化,普通用户能感知;但真正的铁证,藏在代码底层。

开发者Sam Henri Gold在iOS 27的框架中挖掘出了一组全新的参数,其中最关键的三个分别是:foldState(用于识别设备折叠状态)、angleDegrees(折叠角度),以及MobileGestalt(核心系统库)中新增的MGGetLogicalDeviceDisplayCount(获取设备逻辑屏幕数量)。

具体来说,foldState参数可让系统实时判断设备当前处于闭合、展开还是半折叠三种物理形态。angleDegrees则是由高精度读取铰链的实时开合角度数值,系统可以据此动态调整UI布局、声场方向等,甚至相机的取景适配模式。而_MGGetLogicalDeviceDisplayCount则是用来判断外屏与内屏的运行状态,精准协调两块屏幕的显示逻辑和功耗分配策略。

一个值得注意的事实是:此前的iOS版本中,这些参数并没有出现过。苹果并没有在WWDC上解释相关信息,既然代码已经准备好,这也预示着折叠屏iPhone将出厂预装iOS 27,而且苹果和开发者已经在用工程机同步开展系统适配测试。

整个生态一起做适配

在每年的WWDC上,除了大众用户更为关注的系统发布,其实还有许多针对开发者的论坛,这些其实才是真正面对开发者的技术干货。今年开发者论坛中,苹果正式对开发者提出了一个要求:“面向一系列不同尺寸和长宽比设计布局,而非针对机型和方向。”

这句话的潜台词是什么?在iOS的历史上,苹果从未对iPhone App提出过动态布局要求。iPhone的屏幕尺寸是固定的,App开发者只需要针对那一个尺寸做适配就好。但折叠屏来了之后,情况完全不同了——一台设备拥有内屏和外屏,内屏的尺寸和比例又与外屏不同,内外屏切换时还需要保持体验的连贯性。如果继续用“针对机型”的旧思路,每个折叠屏形态都得单独适配,开发者负担几何级数增长,体验也会碎片化。

苹果的解题思路是:从系统底层,到开发者规范,到App Store审核,全链路提前把标准立好。SwiftUI今年支持了不同比例显示布局的自动适配;新的Toolbar规范要求开发者不再限定工具栏的展示数量和宽度,而是为按钮设置层级和顺序;新的侧边栏设计来到iOS 27,多款系统App支持多层展开侧边栏。

其实类似的方案,安卓阵营的手机品牌也一直在尝试,但是安卓生态机型众多,逐一适配难度很大。这还不只是手机厂商的事,需要软件开发者一起努力,但是软件巨头又很难针对某一款折叠屏机型进行单独适配,这也导致安卓阵营的折叠屏机型体验有好有差,不是厂商和开发者不努力,而是适配难度实在太大,没能拿出“通解”。

而苹果呢,iOS生态对应用开发者有着较强的把控力,想要在App Store上架,就必须过这一关。七年来安卓折叠屏都没完美解决的问题,也许苹果这次真的要搞定了。

折叠屏iPhone迟到了七年,不是来晚了,是来得刚好,苹果这几年做的事,其实是制定软件标准,用一整套完整的生态逻辑以及号召力,重新定义折叠屏的软件体验。