WatchOS 5-Swift上iPhone和Apple Watch之间的通信,反之亦然-第1部分
你要学什么?
- 使用WKInterfaceTable和管理为Apple Watch制作一个小界面 IBActions-第一部分
- 使用sendMessage(_:replyHandler:errorHandler 🙂从Apple Watch向iPhone应用程序请求信息—第2部分
- 从iPhone向Apple Watch发送信息sendMessage(_:replyHandler ) —第3部分
- 重构我们的代码, 以便在一处管理WCSession 。 —第4部分
- 使用updateApplicationContext(_ 🙂更新应用程序—第5部分
首先,我们需要一些关于可能性和可能性交流场景的理论:
—关于与对方应用进行通信
您可以通过以下任意一种方式启动传输和通信:
🎓Apple 官方文件
–使用
updateApplicationContext(_:)
方法将最新状态信息传达给对方。 当对方唤醒时,它可以使用此信息来更新其自身的状态。 例如,支持后台应用刷新的iOS应用可以使用其后台执行时间的一部分来更新相应的Watch应用。 此方法将覆盖以前的数据字典,因此当您的应用程序仅需要最新的数据值时,请使用此方法。–使用
sendMessage(_:replyHandler:errorHandler:)
或sendMessageData(_:replyHandler:errorHandler:)
方法将数据传输到可访问的对应对象。 这些方法用于在iOS应用和WatchKit扩展之间进行即时通信。 当前,isReachable
属性必须为true
才能使这些方法成功。–使用
transferUserInfo(_:)
方法在后台传输数据字典。 您发送的字典排队等待传递给对方,并且在当前应用被暂停或终止时,传输继续进行。–使用
transferFile(_:metadata:)
方法在后台传输文件。 如果您要发送的不只是值字典,请使用此方法。 例如,使用此方法发送图像或基于文件的文档。–在iOS中,使用
transferCurrentComplicationUserInfo(_:)
方法发送与Watch应用程序并发症有关的数据。 使用此方法会影响并发症的时间预算。
—好吧,现在您知道苹果在两个平台之间进行通信提供了不同的可能性,我们可以开始开发一系列有关如何使用其中最重要的一些教程–
建立新专案
我们将创建一个新项目,为“ 带有WatchKit App的iOS App ”选择模板,并继续执行基本步骤来创建它。
苹果手表界面
现在,我们将为由WKInterfaceTable和WKInterfaceButton组成的Apple Watch创建一个小界面,一个界面紧挨另一个。 接下来,在Table内部,我们将插入WKInterfaceLabel并将其行数设置为0。
表类和标识符
转到界面生成器上的TableRowController项,并将其放入类名,在我的情况下为Row并作为标识符设置相同的名称。 应该与下一张图片具有相同的外观
界面构建器连接
现在,将表从Interface Builder中连接到InterfaceController中的代码,并且还连接按钮的IBAction 。
结论
在下一个系列中,我们将继续提供更好的内容,但是必须有一个简单的界面来玩iPhone和Apple Watch之间的通信。
再见! 干杯🍻!