将文本从iOS标签传递到WatchOS标签 - swift-
我遇到了问题,我的应用程序..我尝试按照一些指南,如Passing data to Apple Watch app,但我不确定它适合我的情况。 我在我的iOS应用上贴了一些带有文字的标签,然后我想在我的watchOS应用标签上显示此文本,并且我不知道哪个是传递此文本并使其与iOS应用保持同步的最佳方式。 。 非常感谢您的帮助!将文本从iOS标签传递到WatchOS标签 - swift-
由于watchOS2,您没有任何内置函数用于iOS和watchOS应用程序之间的沟通,而不是WatchConnectivity
框架。
从您的问题提供的信息中,updateApplicationContext(_:)功能似乎是解决您的问题的最佳解决方案。您可以使用此功能发送数据字典,并且系统会在应用程序显示给用户时尝试确保数据已收到。如果在应用程序对用户可见(在前台运行)之前多次调用该函数,系统将覆盖以前的数据,因此Watch应用程序只接收最近要显示的数据。
对于watchOS1,由于Watch App
作为extension
包含在您的Host App
中。因此,您可以使用App Group
在您的Host App
和您的App Extension
之间共享数据。
有关使用App Groups
的更多信息,请参阅https://*.com/a/44654185/5716829。
自从引入'watchOS2'后,Watch应用程序不仅仅是App Extensions,因此无法访问'App Group'中的数据。请参阅[本答案](https://*.com/a/30854052/4667835)。请更新您的答案,以反映您的解决方案仅适用于'watchOS1'。 –
@DávidPásztor谢谢你的信息。:) – PGDev
正确的方法是WCSession.updateApplicationContext(_ applicationContext: [String : Any])
https://developer.apple.com/documentation/watchconnectivity/wcsession/1615621-updateapplicationcontext“发送配对和活动设备可用于同步其状态的值字典。”
我很理解这个概念,但是你有没有可以从中入手的实际例子? – MettDich
我很理解这个概念,但是你有没有可以从中入手的实际例子? – MettDich
查看Apple的示例代码(例如[PotLoc](https://developer.apple.com/library/content/samplecode/PotLoc/Introduction/Intro.html#//apple_ref/doc/uid/TP40016176-Intro- DontLinkElementID_2))如果你不知道从哪里开始,但是'WCSession'文档解释了如何设置框架,然后你需要做的就是在两个应用上实现发送和接收功能。 –
我试着看potloc的例子,但我什么都不明白..而是... for updateApplicationContext(_ :),在那里我要调用它? – MettDich