面向开发人员的 iOS 9 Beta 和 WatchOS 2
已发表: 2022-03-11Apple 最新的移动操作系统已经发布,如果您是 iOS 开发人员,您需要了解以下内容。 iOS 9.x 中的变化不仅仅是肤浅的,尽管缺乏彻底的重新设计可能会让不经意的观察者得出结论,这不是一个大更新。 这是进化的一步,iOS 9.x 没有什么革命性的东西,但它确实具有一些新功能。
我们已经介绍了 3D Touch,它将用于更新的 6S 系列 iPhone,但这只是 iOS 9.x 中值得一提的一项功能。 新的更新还带来了许多面向平板电脑的调整,考虑到苹果决定推出专注于生产力的超大 iPad Pro,这是可以理解的。 iPad 的多任务处理将变得更好,因为它将包括拆分视图、滑过和画中画模式。
Android 和 Microsoft 开发人员可能会说他们的平台已经具备这样的功能,他们是对的:Apple 迟到了,而 iOS 在多任务处理方面落后于 Android 多年。
然而,除了多任务处理和生产力应用程序之外,iOS 9.x 还拥有许多专为内容消费而设计的功能。 Apple 对 SceneKit、SpriteKit 和 Metal 进行了调整,允许 iOS 游戏开发人员使用一些高级功能并使游戏更加精致。 搜索正在更新,内容索引、历史记录和网络标记更好。
哦,别忘了 3D Touch,这是 Apple 针对 Force Touch 的营销演讲。 当 iOS 9 发布时,我已经详细介绍了这个主题,如果你错过了,你需要检查一下,因为我认为重复它并在新帖子中添加绒毛是没有意义的。
那么这次我们应该关注什么?
iOS 9 中的多任务处理
我想多任务处理将是一个很好的起点,只是为了让它不碍事,让 Android 开发人员不必滚动浏览整篇文章,就可以写一些我们多年来一直有的居高临下的评论。
苹果在 iOS9 中增加了三种不同的多任务模式:
- 拆分视图
- 滑过
- 画中画 (PiP)
拆分视图是一个熟悉的概念。 这两个应用程序并存,与 Windows 8.x 和一些基于 Android 的平板电脑(三星)的方式非常相似。 例如,用户可以拖动应用程序并设置其准窗口的大小,例如在浏览器旁边放置一个 Skype 条。
Slide over 类似于拆分视图,但它在屏幕右侧的用户调用叠加层中显示第二个应用程序,允许用户快速选择一个应用程序并与之交互。 应用程序以垂直条显示,类似于 Android 4.x 上的应用程序切换器。
画中画,通常用于视频,允许用户在一个小框架中查看应用程序。 例如,如果您正在观看电视节目并收到 Skype 消息,您可以在将视频保留在 PiP 帧中的同时进行回复。
所有三种模式都可以同时使用,因此您可以在 iPad 以拆分视图显示两个应用程序时拥有画中画框。
Apple 正在敦促开发人员采用滑动和拆分视图,除非他们有特定的理由不这样做。 相机应用程序和完整设备应用程序(例如游戏)被列为例外。 至于画中画,它是为视频应用程序设计的,即使你有视频应用程序也可以选择退出,但不一定要支持画中画。
我还应该注意,Xcode 7 中的每个 iOS 应用程序模板现在都预先配置为支持滑动和拆分视图。 还有一个警告:大多数 iPad 不支持拆分视图。 实际上,它仅在 iPad Air 2 和 iPad Pro 上可用,而第一代 Air 以及 iPad Mini 2 和 Mini 3 都将提供滑盖功能。
另一个可能让 iOS 开发者头疼的问题是布局和缩放。 迄今为止,所有 iPad 都配备了 4:3 显示屏,因此设计师习惯于在 4:3 宽高比的画布上工作。 所有旧版应用程序在拆分视图中看起来都正确吗? 这取决于许多因素,因此在这一点上回答是冒昧的。 但是,如果您有很多 iPad 应用程序,请记住这一点。
Apple 已经发布了有关新的多任务模式的必要信息,因此您绝对应该查看官方 iOS 开发人员库以获取详细信息。
iOS 9.1 和 9.2 Beta,市场采用率
苹果大约一个月前发布了 iOS 9.1,iOS 9.2 测试版已经可以通过苹果的测试版软件计划下载。 两个版本都是小更新。
事实上,iOS 9.1 是迄今为止 iOS 9 的第三次更新。 它引入了对 Unicode 7 和 8 的支持,以及一系列新的表情符号(包括独角兽)。 Xcode 已升级到 7.1 版,并且一些 Apple TV 组件也进行了更新。 还对相机进行了微调,例如更新实时照片,它利用传感器信息来确定设备何时降低以停止录制视频。
iOS 9.2 测试版已经发布了大约一周,这是另一个增量更新。 它包括对 Safari 的一些更改,向 Siri 添加了对阿拉伯语的支持,并包括对 AT&T 的 NumberSync 系统的支持。 从开发人员的角度来看,没有什么太重要的了。
在 iOS 9 推出几周后,Apple 表示新的移动操作系统显示出迄今为止所有 iOS 版本中最快的采用率。 到 9 月下旬,超过 50% 的 iOS 设备已更新到 iOS 9。也就是说,很多旧设备将无法获得更新,但所有在过去四年购买 iPhone 或 iPad 的用户都应该没问题。 旧款 iPhone 4 和第一代 iPad 的用户不会获得 iOS 9。
快速采用仍然是 Apple 的王牌。 当 Google 发布新版本的 Android 时,其硬件合作伙伴通常需要几个月的时间才能为其设备发布更新,而且很多小品牌的设备都没有更新。
WatchOS 2 带来了一系列面向消费者的改进
虽然 iOS 9.x 可以被视为一个渐进的、进化的更新,但 WatchOS 2 并不是一个肤浅的更新。 新的操作系统让 Apple Watch 可以做更多事情,为开发者创造新的可能性。 但是,无论如何,它都不会改变游戏规则。
大多数更改都以消费者为中心,因此 WatchOS 2 包含大量应用程序更新。 例如,这款手表现在可用于通过 Facebook Messenger 发送文本和音频文件,iTranslate 将允许用户快速翻译语音,而新的 Airstrip 应用程序是一种医疗保健工具。 Siri 支持也得到了扩展,同时新增了一项允许用户查看天气和约会的时间旅行功能。 重新设计了音乐界面。 用户现在可以通过语音听写回复电子邮件,当该睡觉时,手表可以置于床头柜模式。
Apple Watch 现在无需 iPhone 即可连接到 WiFi 网络; 它不需要系绳。 几个月前,谷歌已经在 Android Wear 中实现了这一功能,因此苹果也加入了这一功能也就不足为奇了。
Apple 还通过一系列新的表盘(和重新设计的表盘)、额外的复杂功能以及定制和组织它们的新方法来调整美学。 新的显示设置将使屏幕寿命更长,最长可达 70 秒。
坦率地说,我觉得这些更新中的大多数都不是很令人兴奋,其中一些可以说是彻头彻尾的噱头。
面向开发人员的 WatchOS 2
虽然更新不会为消费者带来很多新颖的功能,但它会为开发者开辟新的可能性。 大新闻是 WatchOS 2 允许访问更多传感器和其他硬件组件。
开发人员现在可以将Digital Crown用于缩放以外的更多用途; 表冠可用于滚动浏览内容、通知等。 问题是,很少有应用会利用这些新冠功能; 它们需要一段时间才能更新以支持它们。 另一方面,允许更深入地访问各种组件的全部目的是迫使开发人员为 Apple Watch 创建本机应用程序。

除了新的数字表冠控件,第三方应用程序还可以访问麦克风和加速度计。
那么并发症呢? 从开发人员的角度来看,创建、管理和定制新复杂功能的能力可能是最大的更新之一。 新的 ClockKit 框架ClockKit.framework
用于管理与 Apple Watch 应用程序相关的复杂性。 该框架允许开发人员将各种数据源用于复杂功能,然后调整视觉外观以确保与应用程序良好匹配。 一切都是使用不同ClockKit.framework
类完成的,您可以查看官方 Apple ClockKit 框架参考以获取更多详细信息。
这些变化听起来可能没什么大不了的,但从长远来看,它们可能会改变用户与其 Watch OS 设备交互的方式。 他们还可以创建新的用例并激励更多开发人员为平台创建原生应用程序。
新的 WatchOS 架构
WatchOS 2 的变化并不肤浅。 Apple 重新设计了 WatchOS 架构,但好消息是这些更改不会给开发人员带来很多问题。
在 WatchOS 的第一个版本中,WatchKit 扩展运行在用户的 iPhone 上,但在 WatchOS 2 中它运行在 Apple Watch 上。 苹果表示,将扩展程序移至手表可以使 Watch 应用程序和扩展程序之间的通信“更快”,并允许该应用程序在用户的 iPhone 不可用时工作。 还记得我之前提到的无线 WiFi 访问吗? 嗯,这是使它成为可能的事情之一。 这对于扩展复杂功能也很重要。
WatchKit 扩展被移至 Apple Watch 的事实并不影响其功能。 Apple 指出,Watch 应用程序和 WatchKit 扩展之间的“分工”在 WatchOS 2 中保持不变。
该应用程序仍然包含定义应用程序用于呈现信息的屏幕的故事板,而 WatchKit 扩展使用WKInterfaceController
子类来管理所述屏幕。 所有交互仍由 WatchKit 框架处理。
Apple 指出,大多数时候,现有的 WatchKit 扩展代码应该可以在 WatchOS 2 中运行。但是,将 WatchKit 扩展移至手表的决定将改变应用程序的设计方式。 扩展将使用 WatchOS SDK 框架而不是 iOS SDK 来实现。 但是,对于 WatchOS 框架不支持的功能,开发人员仍将不得不依赖 iOS 应用程序。 这也意味着数据通常存储在 Apple Watch 上,但如果应用程序需要来自 iOS 设备上的配套应用程序的一些数据,它会以无线方式获取数据并将其传输到 Apple Watch。 开发人员将无法使用共享组容器与 iOS 应用程序交换文件。
迁移到 WatchOS 2
还值得注意的是,开发人员还不必迁移到 WatchOS 2,尽管 Apple 指出,如果开发人员认为不值得麻烦,许多功能将无法使用。 上面概述的一些架构更改可能是必要的,但在某些情况下这项工作可能会有所回报。
Apple 指出了开发人员在决定将现有应用程序迁移到 WatchOS 2 是否值得之前需要问的三个基本问题。
- 开发者是否需要支持较早的 Apple Watch 版本?
- 该应用程序是否严重依赖 iCloud 技术?
- 手表应用程序是否依赖来自配套 iOS 应用程序的数据?
可以使用相同的 iOS 应用程序包为 WatchOS 1 和 WatchOS 2 提供两个版本的 Apple Watch 应用程序。 由于架构更改,WatchOS 2 应用程序必须重新编译为单独的可执行文件。 Apple 指出,与拥有两个完全独立的应用程序相比,共享代码可能需要更多的努力并引入更多的复杂性。
由于 WatchOS 2 中的 WatchKit 扩展在 Apple Watch 上运行,它不再能够直接访问 iCloud 技术。 所有与 iCloud 相关的操作都必须由 iOS 配套应用程序执行。 然后数据以无线方式发送到 WatchKit 扩展,因此开发人员可能不得不改变他们在两个设备之间管理和同步数据的方式。
由于采用了新架构,与 iOS 配套应用程序的通信也发生了变化。 如果应用程序需要来自 iOS 应用程序的数据,开发人员必须将必要的文件从 iOS 设备显式传输到 WatchOS 设备。 数据必须在这两个位置进行本地管理,开发人员需要记住 Apple Watch 上的数据不会自动备份。 必须将其发送回 iOS 设备才能进行备份。
包起来
我们在几篇文章中介绍了 iOS 9,所以这次我决定专注于新的多任务处理功能和测试版。 由于 Apple 决定推出 iPad Pro,我发现多任务处理方面很有趣,它得到了一些好评。
与 iPad 和 iPad mini 不同的是,Pro 版更加雄心勃勃。 它是为内容消费和内容创作而设计的,而老式的 9.7 英寸和 7.9 英寸 iPad 主要用于内容消费。 改进的多任务处理对于具有“专业”愿望的产品至关重要。 在浏览 IMDB 或偶尔玩游戏时,您不需要强大的多任务支持,但如果您需要同时编辑一些文档、调整一些草图和 Skype,一流的多任务支持是必须的。
通过 iPad Pro,Apple 正在寻求为 iOS 开辟新的利基市场。 该操作系统已经足够成熟,可以用于商业,并且有了新的基于 ARM 的 A9X 处理器,Apple 有一个强大的硬件平台与之配套。 当然,苹果在这个领域并不孤单,可以说 iPad Pro 是受到微软 Surface Pro 平板电脑的“启发”。 Apple 决定将其移动操作系统用于 iPad Pro,将 OS X 保留给 MacBook。 微软放弃了 Windows RT(Windows for ARM)并远离 ARM 处理器。
然而,英特尔最新的 14nm Core M 和 Cherry Trail 处理器非常节能,我有机会在一些入门级到中档 Windows 系统(150 到 500 美元)中试用它们。 我只能说:不要低估他们。 新的英特尔硬件非常出色,Windows 10 好坏参半(至少在我看来),但定价将极具竞争力。
至于 WatchOS 2,与 iOS 9.x 相比,这是一个更大的更新。 然而,令我惊讶的是,Apple 决定在游戏初期就重新设计其背后的基本架构。 Apple Watch 已经推出了相当长的一段时间,它在市场上被 Android Wear 手表抢了好几个季度。
实际上,我没想到苹果可穿戴操作系统的第二次迭代会发生架构变化。 也许我有不切实际的期望,但是当一家价值 6000 亿美元的科技巨头在其竞争对手之后几个月推出产品时,我不认为它会在几个月后重新开始。 无线 WiFi、Apple Watch 上运行的 WatchKit 扩展? 它们本可以并且应该包含在 WatchOS 1 中。
或许这就是为什么很多第三方应用在 Apple Watch 推出时表现不佳的原因。