问题标签 [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 投票
4 回答
952 浏览

ios - Apple Watch 未在设备上接收 didReceiveUserInfo,但在模拟器中接收

我第一次尝试制作 Apple Watch 应用程序,但在设备本身上测试它时遇到了一些问题。

我遵循了一个教程: https ://www.natashatherobot.com/watchconnectivity-application-context/

当我将数据从手机发送到模拟器中的手表时,我按预期收到了数据。我在控制台中打印已收到的数据。

但是当我尝试在自己的手表上运行该应用程序时,我没有收到任何回调。我已经尝试过:didReceiveApplicationContext didReceiveUserInfo

两者都在模拟器中工作,但不在设备上。

如果我检查手表是否已配对并且可以访问,它会说是。我不知道为什么它在设备本身上不起作用,也不知道如何找到问题或如何进一步调试它。

我在谷歌上也找不到任何关于它的...

任何人?

0 投票
0 回答
151 浏览

ios - watchconnectivity 在设备上不起作用 - 仅模拟器

我在网上遵循了许多教程,并了解了如何将手表与 iPhone 连接以能够发送数据并具有以下代码:

发送:

收到:

该代码在我使用模拟器时有效,但在我的 iPhone 和 Apple Watch 上运行时无效。

0 投票
2 回答
293 浏览

ios - IOS协议和框架最低IOS版本检查

我正在开发 AppleWatch 应用程序。之前我开发了一个IOS应用最小版本IOS 6.0。我正在使用 WatchOS 2.0 开发的 AppleWatch 应用程序。下面是IOS应用程序类中的类代码。WatchConnectivity 框架和 WCSessionDelegate 协议需要最低 IOS 版本 9.0。那么如何在不崩溃的情况下运行旧版本

0 投票
1 回答
43 浏览

swift - 传输多个字典 ApplicationContext (从 iPhone 到 Apple Watch)

我有一个名为 didReceiveApplicationContext 的函数,我需要在那里传输几个字典。现在,我正在使用这段代码:

当我尝试执行相同的操作(重复此代码)时,我什么也没有收到。

0 投票
0 回答
67 浏览

ios - 为什么 session.paired 不可用?

在 iOS 应用程序中,我使用以下代码创建了一个名为 DataCoordinator 的 swift 文件:

当我尝试构建时,我收到此错误:

'paired' 不可用
'paired' 已在此处明确标记为不可用

这是在 iOS 应用程序中,而不是在 WatchOS 应用程序中。如果我在 ViewController 类中使用上面的代码,它工作正常。

0 投票
3 回答
1800 浏览

ios - 使用 updateApplicationContext 发送钥匙串值是否安全

在 watchOS 2 中,不再有共享钥匙串。

如果我想将钥匙串值从 iOS 应用程序发送到 Watch 应用程序,通过 WCSession updateApplicationContext 发送它是否安全?

0 投票
2 回答
6069 浏览

ios - 观看连接:没有调用 didReceiveMessage

我正在使用 WatchConnectivity 框架从我的应用程序接收字符串。以下是我如何从应用程序发送 Obj-C 中的字符串:

我的 Watch 应用程序使用 Swift。这就是我检索消息的方式:

注意: “支持 wc 会话”有效并被记录到控制台

以下函数永远不会被调用,NSLog 也不会出现,因此 QRCodeTitleLabel 不会更新其文本。

有谁知道为什么不调用此方法?

另外,我已经导入了 WatchConnectivity 并在我的类名之后包含了 WCSessionDelegate。

编辑:

我用replyHandler添加了这个函数,但是这个方法仍然没有被调用:

0 投票
2 回答
1823 浏览

ios - 错误:“消息回复时间过长” - WCSession Watch OS2

所以我正在使用 Watch Connectivity 从 iPhone 向 Watch 请求一个数组。

这个想法是sendMessage从手表开始,iPhone 会用didReceiveMessage方法中的数组进行回复。

但是 iPhone 似乎没有响应,我认为当我从 Watch 发送消息时 iPhone 会打开应用程序。我什至尝试过打开应用程序,sendMessage但仍然没有运气。当我等待足够长的时间时,我收到以下错误消息:

错误域 = WCErrorDomain 代码 = 7012 “消息回复时间过长。” UserInfo={NSLocalizedDescription=消息回复时间过长。,NSLocalizedFailureReason=回复超时。}

有人知道我哪里可能出错了吗?

苹果手表

控制台输出

WCSession 是可达数组 nil

iPhone 应用程序代表

iPhone 上的任何内容都没有被执行。即使我手动打开应用程序。

0 投票
0 回答
49 浏览

ios - 如何知道为什么文件没有传输?

我正在将文件从 iOS 传输到 WatchOS。applicationContext 和 userInfo 传输一切正常。当我运行以下代码时,没有传输任何内容。fileTransfer.transferred == 假。

当我查看以下内容时,我可以看到我所有的尝试都在排队:

有什么我可以检查的东西可以提供反馈,说明为什么没有任何东西被转移?我正在使用模拟器。该文件是一个 plist 文件。我正在像这样访问它:

fileurl确实返回文件路径。

0 投票
1 回答
85 浏览

swift - WatchKit 检索多个 URL 图像

我正在使用 WatchKit 2.0 创建对话线程,并且在对话中下载多个图像时遇到困难。我可以使用WatchConnectivity sendMessage. 我可以拿回来NSData,我可以用于UIImage.

当对话线程中有两个不同的图像时,这些调用都不能正确检索图像。我用来触发消息的代码是

我尝试使用另一个线程

但这也无济于事。我在 WatchKit 上找到了从 URL 加载图像的帖子,但NSURLSession从未完成,即使只有一张图像。

如何从不同的 URL 检索多个图像?