图片来源: 边缘苹果的自动驾驶汽车,在iPad上支持鼠标式操纵器,在Apple Watch上提供摄像头,以及新版iOS摘要中的更多新闻。 同时,让我们看看SwiftUI在性能方面有多出色,以及如果RxSwift链不再固守灵魂,如何使用Combine框架。
行业新闻
- 《边缘报道》称苹果正在考虑将相机集成到手表中。 我们只能猜测这些计划有多严重,但以防万一,以防万一,该公司已申请将相机集成到表带中的多项专利,其中一项可以追溯到2016年。 在此期间,该相机尚未出现在新版本中,但仍会出现。

据报道,可以使用语音控制或按住时钟进行拍照。 从图像来看,要从所需的角度移开,只需转动皮带(如果将相机内置在外壳中,这比转动手要方便得多)。
- iPad上可能会出现很多配对设备,这太长了:除了键盘和手写笔之外,iPadOS现在还支持计算机鼠标。 没有正式的公告,此功能默认情况下处于禁用状态,但可以在Universal Access设置中启用。
- 苹果收购了初创公司Drive.ai ,后者正在开发自动驾驶汽车。 关于苹果公司正在开发具有自主控制功能的自己的汽车这一事实,已经众所周知,但是去年有消息称该项目已关闭。 显然不是,这项工作仍在继续。
- 据彭博社报道,苹果已经聘请了ARM的顶级处理器设计师之一来开发自己的MacBook处理器。 从现有信息来看,更换英特尔处理器的计划已经存在数年了,目标是在2020年改用基于ARM的亲戚。
iOS开发新闻
- 开发人员继续使用新版本的ARKit 3,已经发布了一些有趣的演示:例如,一个具有实时从视频中删除人员的演示。 将来,这可能看起来像智能眼镜社交网络中的“阻止用户”功能。
到目前为止,还没有具体的实际用途,但是将身体实时划分为多个粒子是很棘手的:
您是否使用ARKit做了类似的事情? 在评论中分享想法。
- Swift语言的复杂性不断增加,每次更新都添加了越来越多的功能。 在Swift 5.1中,可以为类属性和结构编写包装器(在原始属性包装器中)。 为了在声明的变量类型之上声明性地添加一些功能和行为,需要它们,从而提高代码的安全性。
例如,考虑一个自动包装字符串中的空格和换行符的包装器:
import Foundation @propertyWrapper struct Trimmed { private(set) var value: String = "" var wrappedValue: String { get { value } set { value = newValue.trimmingCharacters(in: .whitespacesAndNewlines) } } init(initialValue: String) { self.wrappedValue = initialValue } }
在代码中声明和使用的变体如下所示:
struct Post { @Trimmed var title: String @Trimmed var body: String } let quine = Post(title: " Swift Property Wrappers ", body: "...") quine.title
有关更多详细信息,请参见Swift Property Wrappers文章。
同时, GitHub已经有一些有用的包装器集合。
- 有两篇有关使用Combine框架的文章: Swift中的Combine框架入门和实际使用Combine框架 。 选择一个或全部阅读!
- 事实证明,可以在不使用SwiftUI的情况下使用Xcode 11 Preview的新功能,但是您将不得不更改最低支持的iOS版本,该版本看起来有些cr缩,也许不适用于现有的大型项目。 该过程可以在这里找到。
- 如果像我一样,您对同步客户端数据感兴趣,那么请确保阅读Apple的基于CloudKit的新Core Data Sync 。 在其中, Ensembles数据同步库的开发人员回顾了基于Apple CoreData的同步框架的新CloudKit实例。
对于那些感兴趣的人:5月的Mobius,我有机会介绍了联合编辑期间移动客户端上的数据同步问题。 此外,在7月将有可能与2019年7月11日至12日在圣彼得堡举行的Hydra 2019会议上与数据同步问题大使Martin Kleppman进行亲自交流。 同时,有机会与他进行精彩的访谈 。
- Twitter报告说,SwiftUI界面的动画性能不逊于使用CALayer和CoreGraphics编写的图元。
在性能降至60 FPS以下之前,SwiftUI可以处理5-10倍多的原语。