问题标签 [watchconnectivity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
633 浏览

ios - watchOS 2 WatchConnectivity Apple Watch 和 iPhone 之间的时间延迟,同时将数据从一个发送到另一个?

我正在使用 WatchConnectivity ( WCSession) 将信息从 Apple Watch 传递到 iPhone,但我发现 Apple Watch 和 iPhone 之间存在(10-15 秒)延迟。对于我正在使用的连接session.sendMessage()session.didReceiveMessage(). Apple Watch 和 iPhone 之间有很多滞后。我也试过updateApplicationContext()了,但我看不出延迟有什么不同。有没有其他方法可以处理它们之间的滞后?

谢谢

0 投票
1 回答
694 浏览

ios - 与 Watch Connectivity 的 updateApplicationContext 共享访问令牌是否安全?

applicationContext 是否加密?或者它只是存储为未加密的 plist 文件?因为如果是后者,我不应该使用它来转移访问令牌。

0 投票
1 回答
3214 浏览

ios - 通过 WatchConnectivity 发送数据时,有效负载可以有多大?

使用 WatchConnectivity 框架发送数据时,无论是从手机到手表还是反之亦然,在框架给出WCErrorCodePayloadTooLarge错误之前,有效负载可以有多大?

我在 Apple 的文档中找不到答案,目前互联网上似乎没有太多关于此的信息(事实上,谷歌搜索WCErrorCodePayloadTooLarge只给了我 4 个结果)。

有没有人测试试图找到这个答案?如果这个问题没有得到答案,我会尝试自己做并发布结果。

到目前为止,我所掌握的所有信息是它可能能够支持大于 30 MB 的文件。我认为这是因为我在 iPhone 上拍摄了很多原始照片,它们的大小通常约为 36MB,并且它们总是出现在我手表的照片应用程序中。

作为参考,WCSession的文档有以下描述WCErrorCodePayloadTooLarge

指示正在发送的项目超出最大大小限制的错误。数据字典和文件都可能发生这种类型的错误。

在 watchOS 2.0 及更高版本中可用。

0 投票
4 回答
640 浏览

apple-watch - 从 WatchKit 2.0 连接到外部 URL

我想从后台加载WatchKit界面中的一些信息。REST是否有一些快速的方法来执行主机iOS应用程序传递的 URL 请求,或者我必须利用裸WatchConnectivity功能来编写特定的协议?

0 投票
2 回答
1805 浏览

apple-watch - 使用 IOS 数据更新 WatchOS2 ClockKit 复杂功能

我正在尝试使用通过 WatchConnectivity 从 IOS / iPhone 传输的数据来更新 watchOS2 时钟套件复杂功能。

尽管进行了相当多的研究,但到目前为止还没有成功。我发现虽然其他帖子描述了类似的挑战(还没有解决方案)

我面临3个问题:

1)来自 ComplicationController 的 sendMessage 似乎没有唤醒 IOS 父应用程序(而从 InterfaceController 发送的相同 sendMessage 确实唤醒了 IOS 父应用程序)

2)即使将值传输到 ComplicationController(通过 sendUserInfoToComplication 并且当 IOS 应用程序处于前台时),显示在复杂功能中的值有时也会更新(尚未找到为什么有时会/有时不会的模式)

3)我将“getNextRequestUpdate..”设置为 2 分钟(用于测试目的)。不过,这似乎没有任何区别。(即使在模拟器中也可以在任意时间触发,但没有使用“预算”/我设置了停止器来验证)

请注意,我对 IOS / Swift 编程比较陌生。但我看到,基于其他问题/帖子,我似乎并不是唯一一个为此苦苦挣扎的人。

这里是示例代码:

并发症控制器

视图控制器

此外,在运行模拟器时,我会收到大量与以下类似的消息:

0 投票
1 回答
231 浏览

ios - 通过 WatchConnectivity 接收数据后如何更新 WKInterfaceController / UIViewControllers

我阅读了一些帖子以在委托而不是控制器中设置 WCWatchConnectivity 会话。您如何将委托中收到的数据传输到控制器进行进一步处理(在 Swift 中)?

0 投票
1 回答
155 浏览

iphone - watchOS2 应用与 iPhone 应用通信

在 watchOS1 中,我们有一个方法“openParentApplication”。即使手机应用程序不在前台或后台运行,此方法也会与手机应用程序通信并立即获取回复。watchOS2 我需要类似的东西。即使我的 iPhone 应用程序没有运行,我也希望我的手表应用程序能够立即与手机应用程序通信。和之类updateApplicationContext:error:的方法在这种情况下没有帮助。sendMessage:replyHandler:errorHandler:transferUserInfo:

请问有人可以建议我更好的方法来实现这一目标吗?

0 投票
1 回答
332 浏览

swift2 - 在 Swift 中使用 WatchConnectivity / 编码传输自定义对象数组

我正在尝试将一组自定义对象从 iOS 传输到 watchkitextension。

了解为了做到这一点,需要对数据进行编码。虽然解码时出错。

开始了:

自定义对象:

带有数组的类:

创建示例对象,附加到数组,然后编码:

在这里我得到错误“执行被中断 - 原因信号 SIGABRT”

0 投票
1 回答
288 浏览

objective-c - WatchConnectivity 框架:WKSession 是维护我请求观看的队列

我创建了一个应用程序,它正在发送数据以观看显示。当手表屏幕处于活动状态时,它可以完美地发送数据,但是当手表休眠时,发生设备未激活的错误。

我的问题是,当手表处于活动状态时,它将如何从我的 iPhone 获取通过使用 WKSession sendMessage 方法发送的数据?

0 投票
1 回答
2346 浏览

ios - 在哪里最好使用 Watch Connectivity 调用 updateApplicationContext?

几篇详细介绍 Watch Connectivity 的优秀博文(http://www.kristinathai.com/watchos-2-tutorial-using-application-context-to-transfer-data-watch-connectivity-2/http://natashatherobot .com/watchconnectivity-application-context/)使用简单的应用程序示例,当您在 iPhone 上点击 UI 时将数据发送到手表。

我的应用程序只是列出了我的 iPhone 应用程序中的数据,所以我不需要立即发送数据,我只是想在应用程序加载或进入后台时发送它......为此我做了updateApplicationContextindidFinishLaunchingdidEnterBackground.. .但是,我的手表界面控制器中的数据源委托非常容易被触发......特别是一瞥只加载在模拟器上,从不加载到设备上。有更好的时间和地点推送信息吗?

下面是我WatchSessionManager以前activiateSession在我extensionDelegateappliciationDidFinishLaunching