![iOS 12和Xcode 10中的Dev有什么新功能?_第1张图片](http://img.e-com-net.com/image/info8/46f56c361b3347148beef3f54eeec575.jpg)
在另一个WWDC的大肆宣传中,Apple向我们介绍了iOS12。这是面向消费者和开发人员的最集中的版本之一,着重于性能优化。 除了专注于性能和优化外,iOS还为我们熟知和喜爱的许多库带来了一些功能迭代。 这包括表情符号(带有备忘录),Siri快捷方式,增强现实和机器学习的发展。
对于开发人员而言,Apple致力于为社区提供大量新工具和SDK,以帮助推动下一代iOS应用程序的发展。 开发人员还对Xcode进行了许多改进,Apple最新的框架-ARKit,Core ML和SiriKit-进行了重大的功能升级。
![iOS 12和Xcode 10中的Dev有什么新功能?_第2张图片](http://img.e-com-net.com/image/info8/c35882a3b6a04f0980ca8317aa85dbdc.jpg)
自从2017年首次引入机器学习以来,Core ML 2使其发展Swift,主流开发人员可以轻松地设计,训练和测试模型。 苹果的增强现实库的第二次迭代ARKit 2是另一个库,由于三个突出的新功能,今年又有了明显的改进:
- 共享体验,实现多人AR体验
- 持久的经验 ,可以保存和恢复状态
- 除2D运动图像跟踪外,还进行3D对象检测 。
苹果还通过添加根据上下文对通知进行分组和确定优先级的功能来改进了通知 ,并创建了新的“ 密码自动填充”框架来集成第三方密码管理应用程序。
Siri Shortcuts是Apple对SiriKit的补充,允许第三方开发人员在聚光灯搜索和锁定屏幕中集成自定义智能快捷方式,以及使用其声音来召唤并执行该自定义操作。
Xcode 10还引入了一个全新的改进范围,从暗模式到多光标编辑 ,源代码编辑器中的新源代码控制视觉效果以及全新的构建系统。 Xcode 10还支持并行测试,从而大大减少了完成测试的时间。
本文目的
在本文中,您将了解面向开发人员的iOS 12的所有新更改。 我们将介绍以下内容:
- 使用Core ML 2和自然语言框架进行机器学习
- ARKit 2增强现实
- 互动通知
- SiriKit的Siri快捷方式
- 身份验证服务和密码自动填充
- Xcode 10
- 其他变化
机器学习
iOS 11中引入的机器学习不仅在今年得到了发展,而且在使机器学习成为主流方面迈出了巨大的步伐。 现在,与性能和速度这一主题保持一致的Core ML版本2的下一个迭代现在快了30%,而AI模型的大小最多减少了75%。 更重要的是,Apple大大简化了库和工具,使每个人都可以更轻松地采用,而无需具备数学或机器学习背景。
Core ML首次推出时显示出很大的潜力,但是更广泛的iOS开发者社区并未接受它。 但是,随着今年Create ML (一种macOS框架)的引入,任何人都可以更轻松地创建Core ML模型,以便在其应用程序中使用。 这个新框架与新Xcode中的Playground集成在一起,使您仅需添加几行Swift代码即可在视觉上实时地与模型创建工作流程进行交互。
除了支持30多种类型的广泛深度学习外,它还支持标准模型,例如树状集成体,SVM和广义线性模型……。 由于它基于Metal和Accelerate等低级技术构建,因此Core ML无缝地利用CPU和GPU的优势来提供最佳性能和效率。 (WWDC)
苹果的许多产品已经通过其计算机视觉和全新的自然语言框架 ,充分利用了Core ML 2,包括Siri和Camera。 iOS 12新增的自然语言框架支持对自然语言文本进行分析以推断出特定的元数据,并与Create ML一起用于培训和部署自定义自然语言处理模型。 有关创建和运行Core ML模型的更多信息,请查阅以下两个Apple参考文档:
- 了解有关构建核心ML模型的信息
- 了解有关如何运行核心ML模型的信息
ARKit 2
同样是去年首次宣布的ARKit,在今年的WWDC上也获得了关注, ARKit 2凭借三个突出的新功能立即吸引了消费者和工程界的想象:
- 分享的AR经验
- 持续的AR体验
- 3D物体检测功能
在今年的WWDC主题演讲上现场演示,共享的AR体验使您可以将多种用途同时纳入增强现实体验中。 换句话说,您现在可以快速创建多人增强现实体验,在该体验中,不仅可以让多个用户玩游戏,甚至可以让观察到相同体验的第三人称旁观者看到。
![iOS 12和Xcode 10中的Dev有什么新功能?_第3张图片](http://img.e-com-net.com/image/info8/811f12747ead44938fccd6817ebef184.jpg)
持久的AR体验使开发人员可以实现功能,以将会话保存为给定状态,以便稍后再恢复。 也就是说,如果您要构建虚拟的乐高雕塑,则可以保存并恢复状态,并且虚拟对象将在相同的空间和时间中持久存在,而无需重新开始。
最后,自ARKit 1.5开始,3D对象检测和跟踪功能得到了改进,现在可以完全跟踪2D图像,包括明信片,报纸或杂志等可移动对象。 例如,当ARKit不断跟踪和识别您的物体时,您可以拿着某个位置的明信片并四处移动卡片。 ARKit 2还可以让您检测已知的真实3D对象,例如电视,家具或雕塑。
群组通知
iOS 12中的通知功能得到了显着增强,具有对消息进行优先级排序和分组的功能,这是用户和开发人员期待已久的功能。
在上下文中对通知进行分组的功能为最终用户提供了更加简洁的用户体验,这种体验已经为Android用户提供了很多年。 例如,用户可以使用通知分组,以便应用程序或游戏通知中的对话线程成为一个组包裹的一部分,而不是单个通知占据整个屏幕。 相反,只需轻扫一下,用户便可以关闭一组上下文通知。
![iOS 12和Xcode 10中的Dev有什么新功能?_第4张图片](http://img.e-com-net.com/image/info8/81ed8e64144546e7b2b0d6de7086f7d9.jpg)
通知的重要性也得到优先考虑,以便诸如消息,电子邮件或日历通知之类的基本通知将显示在社交媒体通知上方。 第三方开发人员还可以在获得Apple审核小组批准的情况下按优先级将通知分类为警报。
SiriKit和意图
SiriKit还因添加了Siri Shortcuts而受到了这个WWDC的关注。 该功能通过配对和预测用户例程和行为,在需要时智能地建议快捷方式。 通过新的Shortcuts API,用户可以直观地使用这些快捷方式,通过Siri语音快捷方式以及创建自己的快捷方式,在锁定屏幕或搜索屏幕上快速便捷地完成任务。
一个示例是由于用户早晨在外面走动并订购薄荷味莫吉托饮料而导致的咖啡店通知出现在锁定屏幕上。 除了视觉建议之外,用户还可以使用Siri并说“从Philz订购我最喜欢的咖啡饮料”,或创建触发该动作的自定义快捷方式。
![iOS 12和Xcode 10中的Dev有什么新功能?_第5张图片](http://img.e-com-net.com/image/info8/6a02f10028db4f98a404adbb1a6145ff.jpg)
认证服务
苹果推出了一个全新的AuthenticationServices库,该库将密码管理器(如LastPass或1Password)与操作系统的密码自动填充功能集成在一起。 以前,用户只能访问iCloud钥匙串中存储的凭据,而访问存储在1Password等应用程序中的第三方密码意味着用户必须在两个应用程序之间切换才能获取用户名和密码信息。
![iOS 12和Xcode 10中的Dev有什么新功能?_第6张图片](http://img.e-com-net.com/image/info8/6541b2e3a5df4900a28ee3eb123eecf9.jpg)
在QuickType栏中,用户可以从第三方密码管理应用程序访问其凭据。 通过实现新的ASWebAuthenticationSession
类,开发人员还能够在Safari中的活动会话与您的应用之间共享登录信息。 这就像一种密码切换。
Xcode 10
苹果公司还为开发人员提供了超越新的SDK和框架的能力,并对Xcode和Xcode构建工具链进行了显着改进。 例如,源代码编辑器在重构方面进行了一些重大改进,包括多光标编辑,因此您可以同时快速编辑多行代码(即不同的方法)。
![iOS 12和Xcode 10中的Dev有什么新功能?_第7张图片](http://img.e-com-net.com/image/info8/a05a48b35ad54463885aee11e9f0ec57.jpg)
Xcode 9首先引入了与GitHub的集成,从在IDE中创建和打开GitHub仓库,到更协作地与代码交互。 Xcode 10超越了GitHub,可以与另外两个流行的存储库供应商GitLab和Bitbucket合作。
在源代码编辑器端,本地存储库或上游中的更改现在在左列中突出显示,从而使您可以快速查看对代码所做的更改以及尚未推送的更改,其他人进行的上游更改以及可能存在的冲突在提交之前解决。 最后,如果需要,Xcode 10会为您生成SSH密钥,然后将它们上传到您的源代码控制存储库中。
转向工具链,Xcode 10为开发人员引入了一个全新的构建系统,并且与会议主题保持一致,从而提高了性能和速度。 例如,在Simulator中测试其应用程序的开发人员现在可以利用测试并行化,即同时运行多个测试的能力。
除了单元测试之外,开发人员现在还可以在许多不同的模拟设备类型上运行连续集成测试,生成单个模拟设备的克隆,从而使测试完成的时间只占Xcode 9的一小部分。 开发人员可以选择利用Mac的CPU来并行执行测试,也可以在托管Xcode Server的网络中分配另一台Mac来并行地自动进行构建和测试。
苹果现在不推荐使用print()
语句,而推荐使用新的OSLog
语句,与print()
相比,该语句提供了更快的调试速度。 开发人员还可以实施自定义工具来标记整个代码中的重要点,然后通过工具内的路标对其进行跟踪,并与其他分析事件(例如CPU,内存或网络)一起显示,从而为开发人员提供了更深入的见解来对其应用程序进行故障排除。
Xcode 10还包括自定义模板,以帮助开发人员通过自定义可视化和数据分析来构建自己的工具,这些工具可以重复使用并与其他团队成员共享,或者与您的框架一起发布。 图标还有其他一些小的更改,包括将库内容移动到新的叠加窗口,而不是检查器的底部。 Interface Builder图标和布局也有其他小的更改。
其他变化
iTunes Connect已适当地更名为App Store Connect ,并进行了一些增强,以使用户界面更高效,更友好。 通过新的Web界面,开发人员可以创建带有屏幕截图和预览的产品页面,切换应用内购买以及设置订阅,预订和介绍性定价。
![iOS 12和Xcode 10中的Dev有什么新功能?_第8张图片](http://img.e-com-net.com/image/info8/a93a5f50be3441aeae5ef84f6de4394d.jpg)
最后,TestFlight通过一项称为TestFlight Public Link的新功能获得了显着的增强,它使邀请人们进行应用程序测试的过程变得非常容易。 以前,开发人员需要在繁琐的过程中使用他们的电子邮件地址手动邀请用户,而开发人员现在可以通过公共URL创建“公开邀请”。
结论
iOS 12是面向消费者和开发人员的非常针对性的发行版,着重于性能优化。 对于开发人员而言,Xcode以及构建和测试工具已经过优化,重点放在了速度上,并且Apple最新的框架(如ARKit,Core ML和SiriKit)已经进行了重要的功能升级。
在两年的时间里,我们开始看到苹果公司在机器学习方面的发展和成熟,其好处也转移到了他们的其他技术框架中,例如SiriKit,ARKit和Photos,使开发人员能够创建更智能的用户体验。 更重要的是,机器学习已经从一个小众库转变为任何开发人员都可以训练和实现模型的地方,无论机器学习经验如何。
WWDC作为9月份苹果硬件公告的前奏,很有趣的一面是,开发人员社区在多人游戏领域如何在第二次迭代中拥抱ARKit。
翻译自: https://code.tutsplus.com/articles/whats-new-for-devs-in-ios-12-and-xcode-10--cms-31311