问题标签 [wcsession]

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 投票
2 回答
893 浏览

ios - iPhone 未从 AppleWatch 接收 applicationContext

我创建了一个程序来测试从 iPhone 和 AppleWatch 来回发送数据,反之亦然。我已经设置好了,AppleWatch 上有一个按钮,iPhone 上有一个按钮。当 iPhone 被按下时,它将发送数据并将 AppleWatch 上的按钮重命名为该数据字符串。

然后我为 iPhone 实现了 AppleWatch 的相同代码,但由于某种原因,iPhone 似乎没有接收到数据。这是 iPhone 的代码:

和苹果手表:

我尝试更改密钥的名称(没有用),我做到了,所以数据值总是在变化(UUID().uuidString)并保持不变。我尝试的其他事情包括创建一个标签并尝试重命名它而不是失败的按钮,最后不是重命名按钮,而是发送一些确认它接收到数据回失败的苹果手表。

任何帮助将不胜感激,我希望这不是一个愚蠢的错误。

0 投票
0 回答
225 浏览

swift - watchSession.sendMessage 在模拟器上运行良好,IRL 超时

我写了两个应用程序,第一个 using transferUserInfo,这导致了太多的延迟(我相信因为它在后台发送东西)。我切换到sendMessage并且对结果非常满意(更快的响应时间)。当尝试在我的真实 iPhone 和 Apple Watch 上运行该应用程序时,我收到Transfer timed out.以下是其中一个调试的完整代码和示例:

苹果手机:

苹果手表:

调试示例:

0 投票
0 回答
30 浏览

ios - WCSession 检查配套应用程序是否可以接收消息

WCSession用来在苹果WatchiOS App. 在双方我都发起了session

还实现了在他停用时激活会话的方法,当会话停用时我调用session.activate()

在伴侣应用程序终止的情况下,我希望手表应用程序立即响应,而不是在一分钟左右后超时。

尝试使用,WCSession.isreachable但它总是返回 true。有没有办法让一个会话方检查另一方是否可以接收到消息?

谢谢!

0 投票
2 回答
108 浏览

ios - 将 WCSession 的委托设置为 nil

我正在使用“WCSession”来连接我的应用程序和 Apple Watch。我更喜欢单例方法。所以,我做了一个共享会话:

然后在开始会话中,我为会话设置了代表:

解除分配委托的正确方法是什么?

根据苹果的文档,我可以通过以下方法做到这一点:

如果我将委托设置为零,这会干扰我的应用程序的性能吗?

0 投票
1 回答
100 浏览

ios-app-group - 是否可以将数据从现有 iOS 应用程序发送到应用程序组的 Watch OS 6 独立应用程序成员?

我有一个没有配套手表应用程序的 iOS 应用程序,我试图从我的新 watchOS 6 独立应用程序中读取存储在 iOS 应用程序中的数据。

有没有类似的选项:

但是用 WCSession 或类似的方式来读取描述的数据?

为了清楚起见,我在我的 iOS 设备中生成图像,并将它们保存在本地(用户默认值)。我曾经在应用程序组用户默认值中读取/保存数据,然后我必须从我控制的一组 watch os 6 独立应用程序中读取这些图像。

0 投票
2 回答
172 浏览

ios - 使用应用程序上下文将数据从 iPhone 发送到 WatchOS 时遇到问题

我正在尝试使用 WCSession 将数据从我的 iOS 应用程序发送到配套的 WatchOS 应用程序。iOS 应用程序是使用 NativeScript 创建的,因此需要 Objective-C。

在模拟器和真实设备上运行应用程序时,我收到以下错误消息:

[WC] WCSession 缺少它的代表

我已经搞砸了几天,但无法解决这个问题。

iOS Objective-C 代码(在 Typescript 中调用):

WatchOS(接口控制器.m):

0 投票
2 回答
870 浏览

swift - (Watch Connectivity) WCSession 缺少它的委托(仅在 XCode11.0 中)

作为标题,我只在 XCode11.0 中发现了这个错误。
我将一些数据从应用程序(用 react-native 编写)发送到 appleWatch。
我现在正在使用 watch-connectivity 和“updateApplicationContext”方法与 iPhone 进行通信。
但是 appleWatch 返回了以下错误。

错误日志如下:

源代码如下:

而且我发现XCode10.3中没有发生错误(1)。
...错误(2)也发生了。
您对此错误(1)或(2)有任何想法吗?
我猜这是由 XCode11.0 引起的,但我找不到是什么原因造成的。

谢谢。

0 投票
1 回答
645 浏览

ios - 是否可以在 swift 中使用 transferFile 将音频文件从 iPhone 传输到 Apple Watch?

我想将音频文件和 zip 文件(最大 30MB)从 iPhone 传输到 Apple Watch。

我已经使用 transferFile 方法(https://developer.apple.com/documentation/watchconnectivity/wcsession/1615667-transferfile)发送它们,但对方(手表)没有收到任何东西,应用程序(ios)也没有调用它的调用返回功能(https://developer.apple.com/documentation/watchconnectivity/wcsessiondelegate/1615668-session

总而言之,我的问题是“transferFile”方法是否允许发送音频或/和压缩文件。如果没有,有什么办法可以解决?

提前致谢!

0 投票
0 回答
222 浏览

ios - loadAppContextDataFromInbox 从收件箱 NSFileReadNoPermissionError -> EACCES 在应用程序上下文中加载错误

我一直在开发一款适用于 Apple Watch 锻炼和 iPhone 的应用程序。该应用程序是用 swift 编写的,并且在我添加功能时,通信已经正常工作了数周。当我尝试在我的 iPhone 上运行我的应用程序时,我突然收到以下错误代码。

[WCFileStorage loadAppContextDataFromInbox] 从收件箱 NSFileReadNoPermissionError -> EACCES 在应用程序上下文中加载错误

此错误是在使用相同代码运行良好的程序上生成的。我相信错误来自以下代码行:

WCSession.default.updateApplicationContext(字典)

在如下所示的函数中。

此功能已经运行了至少一个月没有问题。突然,我收到上面显示的错误。我已经重启了手表、手机和 Xcode,但没有任何效果。我怀疑错误来自手机上的某些隐私设置或翻转的手表,但环顾四周我找不到问题。任何帮助表示赞赏。

0 投票
2 回答
151 浏览

ios - WCSession 激活会话不调用委托方法

我在我的 Manager 类 init 方法中编写了这段代码。

此外,在管理器类中实现了这些委托方法。

Watch应用InterfaceController委托方法:

我的问题是:

  1. 永远不会调用activationDidCompleteWithState 。
  2. 我正在调用 updateContext 方法将数据发送到手表应用程序,但在 InterfaceController 中从未调用过didReceiveApplicationContext方法。