WWDC 2016开发人员综述

今年的WWDC给开发人员带来了很多惊喜。 苹果选择了向开发人员开放iOS的许多方面的途径,这是几年前我们甚至无法想到的。 用户下载越来越多的应用程序,并在智能手机上花费越来越多的时间。 Apple旨在通过消除用户打开应用程序和查找所需内容的次数来帮助实现这一目标。

首先也是最明显的变化是改进的锁屏。 iPhone 6S和6S Plus具有如此快的指纹传感器,以至于在屏幕解锁之前,按下主屏幕按钮几乎不可能在锁定屏幕上读取通知。 在锁定屏幕上的6S上读取通知的唯一方法是改用睡眠/唤醒按钮。 在iOS 10中,当您举起iPhone时,锁屏将亮起,并且通知将以更简洁的方式呈现,并且不会使背景变暗。 通知丰富,甚至小部件都在锁定屏幕中。 从开发人员的角度来看,通知现在支持丰富的用户界面,如下图所示。 这意味着我们必须连续第三次更改注册通知的方式以及如何处理通知,但这一次是永久的。 通知现在也支持图像(到目前为止仅适用于捆绑的应用程序,例如Messages.app)以及您期望的所有API(用于在触发通知之前获取图像,添加操作等)。

完整的对话登录消息通知

SDK中的下一个重要功能是SiriKit。 苹果终于向iOS开发人员提供了Siri(Siri也可以用于macOS,但没有开发人员的SDK)。 观看SiriKit上的WWDC会话,实现起来似乎很简单,而最终实现正是用户与Siri和内置应用程序进行交互时所期望的。 有用于注册词汇(本地化),创建意图UI,处理用户输入甚至将用户输入标记为缺少详细信息的API,因此Siri可以要求更多信息。 为Siri创建UI有一些限制:UI不能是交互式的,例如,您不能添加用户捏或平移的地图。 在主题演讲中没有提到的一点是,意图UI也可以在新的Map扩展中使用,这意味着如果您为Siri开发,则可以免费获得Map扩展。

地图扩展功能是今年WWDC中的下一件大事。 苹果已经向开发人员开放了MapKit的全部功能。 如果您的应用程序是乘车预订应用程序或桌子预订应用程序,那么您现在可以将其与Maps.app完全集成,并让您的用户从那里直接预订乘车或桌子。 请注意,这不是您应用程序的深层链接,就像您的应用程序在地图中运行时具有完整的UI和用户操作。

列表中的下一步是消息和iMessage。 简而言之,Apple将iMessages转变为与Facebook Messenger相当的产品。 表情符号无处不在,链接直接在消息中加载,并且还有许多其他俗气的效果。 苹果电脑将其进一步发展,现在可以使用“消息”将消息中的所有合适单词替换为其相应的表情符号。 开发人员现在可以为iMessage创建应用程序。 iMessage可以有两种应用程序。 不需要开发人员编写代码的贴纸应用程序,您只需要在Xcode 8中创建贴纸应用程序,即可将图像拖到适当的资产目录中,进行构建,归档和提交,以及为消息添加功能的应用程序,范围从游戏到协作应用。

近年来,开发人员工具也引起了很多关注。 自问世以来,我一直在使用Xcode 8 beta 1,我可以肯定地说它比Xcode 7更快,更流畅,尤其是在项目中混合并匹配Swift和Objective-C代码时。 编制索引不需要一年的时间,而且.xib和大型情节提要的加载速度更快。

Swift 3附带了很多破坏源代码的更改。 Xcode提供了一个迁移助手,但是它需要一些时间来适应新的语法和命名。 Xcode 8还捆绑了Swift 2.3,因此您可以针对最新的SDK进行构建,并使用iOS 10,watchOS 3和tvOS的所有出色功能,并在准备就绪时移至Swift 3.0。 可以在这里找到有关Swift 3.0中源代码更改的不错的文章。

在WWDC期间没有引起太大注意的小事情是macOS上的新NSGridView,它像增强的StackView组件一样,并且iOS 10中的Apple将所有iCloud核心数据同步方法标记为已弃用。 文本字段也变得更加智能,现在预测键盘还可以建议单词以外的所有数据,例如地址,电话号码,表情符号和网址。 最后但并非最不重要的一点是,在Xcode 8中,代码签名变得更加容易,这一次它似乎可以像宣传的那样工作。 实际上,如果您不想这样做,甚至不需要弄乱证书和预配置。 Xcode按预期管理所有代码签名过程。

有关