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

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

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

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

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

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

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

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

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

0 投票
2 回答
1554 浏览

ios - Apple Watch WCSession 返回 watchAppInstalled false

我有一个 Apple Watch 应用程序,可以在模拟器(手表模拟器和 iPhone 模拟器)上完美运行。当我在真实设备上运行应用程序时,该WCSession watchAppInstalled属性为 false,但我将应用程序放在手表上,因此无法从手表设备启动它。

0 投票
1 回答
1349 浏览

swift - 何时在 WCSession 对象上调用 activateSession()

我想知道什么时候会在手表和 iOS 设备上的 WCSession 对象上调用 activateSession()。

在文档中它说:

在调用任何与会话相关的方法之前,始终分配一个委托并激活您的会话。在发送消息或获取有关连接状态的信息之前,必须配置和激活会话。

起初以为我把我的代码初始化会话:

在iOS 设备上的viewDidLoad和手表端的willActivate中。

它有效......但我认为这不是一个好的解决方案。我对应用程序生命周期还不太熟悉,但据我所知,每次打开应用程序时都会调用它们。

每次打开其中一个应用程序时,这是否会导致“重新连接”?

哪里是放置该代码的好地方?

0 投票
13 回答
11354 浏览

ios - WCSession sendMessage:replyHandler 错误代码 7014 (WCErrorCodeDeliveryFailed)

WCSession我有一个 Watch OS 2 应用程序,它通过方法与 iOS 应用程序通信sendMessage:replyHandler:errorHandler:

iOS 应用程序正确回复,但有时我会收到7014域代码错误WCErrorDomain:“无法交付有效负载”

当 iOS 应用程序不在前台时,它会更频繁地发生。

我没有找到这个问题的任何解决方案,我希望你们中的一个知道这个问题的解决方案

0 投票
1 回答
584 浏览

ios - 添加本地化 InfoPlist.strings 时 WCErrorDomain Code=7007

我已经用 watchOS 2 应用程序开发了 iPhone 应用程序,但我遇到了一个奇怪的问题。

在我本地化 watchOS 2 目标(不是 watchOS 2 扩展目标)的 InfoPlist.strings 之前一切正常。

如果我本地化 InfoPlist.strings,应用程序将收到错误

错误域 = WCErrorDomain 代码 = 7007 “配对设备上的 WatchConnectivity 会话不可访问。” UserInfo={NSLocalizedDescription=配对设备上的WatchConnectivity 会话不可访问。}。

我不知道为什么。这是我的测试项目:https ://dl.dropboxusercontent.com/u/31258390/TestApp.zip

谢谢!

0 投票
2 回答
1881 浏览

watchkit - transferCurrentComplicationUserInfo 更适合并发症更新吗?

transferCurrentComplicationUserInfo和 和有什么不一样transferUserInfo

我想将数据从我的 AppDelegate 发送到时钟套件复杂功能。

transferCurrentComplicationUserInfo似乎与transferCurrentUserInfo. 我错过了什么吗?

0 投票
0 回答
138 浏览

swift - Wcsession 会话已过期并出现错误 7007

我是 WatchKit 的新手,我正在开发我的一个应用程序,但我在与 Apple Watch 的连接方面遇到了一个问题。

我的源代码如下:

在我的视图控制器中发送消息操作:

我还在复杂控制器的手表侧激活了 wcsession

这在我启动应用程序时第一次起作用,但之后我收到 7007 代码错误......你能告诉我这里缺少什么吗?

提前致谢。

0 投票
0 回答
280 浏览

watchkit - WCSession 错误域代码 7005:设备未配对

通过使用 WCSession sendMessage,我在我的一个项目中不断收到 ErrorDomainCode 7005。

在使用所有模拟器以及在真实 iPhone 和配对的 Apple Watch 上进行测试时,我会收到此错误。设备肯定是配对的。

完全相同的代码适用于我从头开始与 Watch Extension 一起创建的其他(较新)项目。

我确实只有在最近添加了手表扩展的旧项目中才会遇到这个问题。

手表应用程序根本不与 iPhone 应用程序通信。

以下是我的代码:

didFinishLaunchingWithOptions 中的 AppDelegate:

AppDelegate:消息的接收者

观看扩展接口控制器:awakeWithContext

这是我到目前为止所尝试的:

  • 重置所有模拟器的内容和设置
  • 从手表和 iPhone 中删除了手表应用
  • 通过手机手表应用程序中的设置:删除手机应用程序的手表扩展并重新安装
  • 尝试在 AppDelegate INIT 方法中设置 iPhone WCSession

我现在在这个问题上挣扎了很多天。因此,每一个提示都受到高度赞赏。

0 投票
1 回答
136 浏览

swift - WatchOS2 连接框架不起作用

我想将数据从 Iphone 传递到 Apple Watch。我尝试了一切,但是当我使用该didReceiveUserInfo功能时,没有任何反应我检查 WCSession 是否兼容并且它是兼容的。

我的 iPhone 上的代码:

我的 Apple Watch 上的代码:

WCSESSION 检查 Iphone:

WCSESSION 检查 AppleWatch

0 投票
0 回答
543 浏览

swift - Watch Connectivity sendMessageData 最大数据大小

我使用 WCSession sendMessageData 将图像从我的 iPhone 传输到我的手表。如果图像较小,一切正常。当它们变大时,消息传递失败

消息回复失败。

我假设使用 sendMessageData 发送的数据有一个最大大小,它应该在 ~70kb 左右,但我找不到任何关于此的文档。任何人都可以帮助我,也许可以告诉我是否可以影响数据的最大大小?

提前致谢!