春节过去, 转眼已经是三月随着 iOS 11.3 的发布临近, iOS 11 的更新周期基本进入收尾阶段按照正常规律, 苹果应当在今年六月的 WWDC 2018 上公布 iOS 12 的消息虽然今年 WWDC 的会址和会期尚未公布, 但根据 观察 , 圣何塞 McEnery 会议中心 (去年 WWDC 会址) 在六月后三周已经全部被其他活动预定, 只剩下 6 月 4 日 (周一) 至 8 日 (周五) 这一空档, 这也与苹果往年召开 WWDC 的时间基本吻合, 表明那一周有较大可能就是今年 WWDC 的召开时间
那么, iOS 12 有哪些值得期待的更新呢? 可能令人有些惊讶的是, 今年 iOS 消息的重点, 并不是 iOS 12 会有什么新功能, 反倒是 不会 有什么新功能供职于彭博的苹果消息达人 Mark Gurman 在 1 月 30 日 和 2 月 12 日 先后刊发报道, 指出苹果出于保证软件质量考虑, 将会推迟一些重要 iOS 特性的发布, 包括新主屏设计 iPad 多任务增强等一些关注度较高的功能如果消息准确, 今年的 iOS 12 将像它的内部代号 Peace 那样, 更注重求稳而不是求新
当然, 这并不意味着 iOS 12 就将是一个毫无看点的迭代版, 但它可能确实将标志着苹果软件更新策略的一次重要转变我们结合目前已有信息背景资料和主要评论, 整理如下了一些你可能关心的问题, 希望能让你对苹果这次减速慢行的前因后果有一个直观的认识
iOS 12 会有哪些新功能? 不会有哪些新功能?
根据 Bloomberg 的报道, iOS 12 可能搭载的新功能包括:
能同时运行在 iOS 和 macOS 上的跨平台 app;
帮助家长检测子女使用时间的控制工具;
增强的 Animoji(动话表情)功能, 具体而言:
增加更多可选造型(即将发布的 iOS 11.3 已经增加了中国龙 :dragon_face: 熊 :bear: 狮子 等造型);
改进菜单以增加操作便利度;
移植到具备 Face ID 机能的新款 iPad 上;
允许用户在 FaceTime 视频聊天中使用;
其他小规模改进, 例如:
股票 app 更新;
勿扰模式更新, 增强自动拒接和通知静音功能;
在搜索界面中进一步整合 Siri 功能;
重新设计 iPad 上的照片导入界面;
允许多人同时游玩 AR 游戏
iOS 12 的新功能
而下列功能将可能被推迟到 iOS 13 发布:
针对 iOS 和 CarPlay(车载模式)设计的新主屏;
内建应用功能更新, 例如:
照片 app: 图片浏览建议功能;
邮件 app: 关闭特定会话通知功能;
针对 iPad 的新功能, 例如:
同一 app 的多任务多窗口多标签支持;
新的 Apple Pencil 功能
跨平台 App 解读
什么是跨平台 App? 如何实现?
彭博报道的原标题苹果计划结合 iPhoneiPad 和 Mac 应用, 打造统一用户体验已经简要地回答了这一问题
然而, 这并不是一个非常准确的表述根据内文, 苹果这一代号为 Marzipan(杏仁糖膏)的项目旨在让开发者通过 一次 开发, 设计出能够同时适用于 iOS 的触摸屏和 Mac 的鼠标操作两种 界面 的应用程序可见, 这项新功能的主要目的并不是给 用户 提供一个全平台统一的 体验 (手指触摸和鼠标指点本来就是两种不同的体验), 而是给 开发者 提供一套一箭双雕的开发框架, 使其能以更小的成本开发出支持两大系统的程序
实际上, 一个应用是否跨平台, 完全是由开发者决定的, 并不依赖于苹果的特殊支持很多热门应用, 如 UlyssesThings 等, 从一开始就同时有 iOS 和 Mac 版, 并以此为卖点乔布斯在 2007 年发布初代 iPhone 时, 就直接宣称 iPhone runs OS X, 这也是那场发布会中掌声最热烈的场合之一
问题在于, 现有条件下, 如果开发者想让应用跨平台, 必须针对 iOS 和 macOS 分别 开发一次做为一家人, iOS 和 macOS 平台不可能是泾渭分明的, 其应用在底层上有很多相通之处; 两者主要的隔阂, 在于与用户直接打交道的 UI(用户界面)方面
macOS app 的用户界面使用 AppKit 框架构建, 这是一个十分古老的框架, 其历史可以追溯到乔布斯在上世纪 80 年代参与开发的系统 NeXTStep(这也就是为什么 AppKit 中很多对象和函数的名字还以 NS 打头)
而 iOS 从诞生之初就采取了一种另起炉灶的思路, 采用了另一套名为 UIKit 的框架 UIKit 在很多方面明显继承了 AppKit 的功能, 但少了很多历史包袱, 也不用考虑一些只有 Mac 应用需要考虑的问题 (如多窗口) 因此, 两者在具体使用上并不像表面看起来的那么类似; 一个只接触过 UIKit 的开发者, 在上手 AppKit 时 仍将面对较高的学习成本
彭博的简短报道并没有说明苹果将怎样整合两个平台的开发, 但顺着上文的逻辑, 一个自然的做法就是通过某种方式将 AppKit 和 UIKit 整合起来, 或者干脆像当初放弃 Carbon 那样放弃 AppKit, 用 UIKit 一统两个平台
UIKit 确实具有一定的跨平台潜力例如, 用于 Apple TV 的 iOS 变种 tvOS 上的 app, 同样是用 UIKit 开发的, 但 tvOS 的操作其实更接近于 Mac 用户不是直接用手指与屏幕上的元素互动, 而是用遥控器顶部的触摸板控制屏幕上的焦点, 并通过点按操作来打开和确认为了适应 Apple TV 的这种交互逻辑, 苹果扩展了 UIKit 的功能, 为其增加了一套称为 Focus Interactions 的交互机制从实现效果来看, UIKit 在 tvOS 上并没有显得水土不服; 因此, 苹果将其再次扩展并反向移植到 macOS 上也是完全可行的
来源: http://www.tuicool.com/articles/UzmUVbJ