问题标签 [watchos-4]

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 投票
0 回答
689 浏览

ios - 如何获取 WatchOS4 heartRateVariabilitySDNN 及其用途?

我正在尝试使用heartRateVariabilitySDNN。我通过查询成功获取了 heartRate,我使用以下代码获取heartRateVariabilitySDNN但不知道它是如何工作的。Apple 也没有关于此查询或示例代码的适当文档。

0 投票
0 回答
217 浏览

ios - watchOS 4.0 应用 [[WCSession defaultSession] isReachable] 始终处于获取状态:已连接

我正在做一个与 Watch/iPhone 相关的项目,并且我的手机与手表配对。我的手表应用程序运行良好,然后我的移动设备 wifi 和蓝牙连接“打开”连接状态。

我正在我的移动设备上进行 wifi 和蓝牙连接“关闭” 。我的手表应用程序在 2 到 3 秒后处于断开状态,然后突然连接。

有谁知道他们如何能够做到这一点或其他选项来检查可达性?

我想要关闭 wifi 和蓝牙时的折扣状态。

我找不到任何在线资源,请帮助。这是我的代码:

此代码在 WatchOS3 上运行良好,仅在 WatchOS4 上发生。

任何帮助是极大的赞赏!

0 投票
4 回答
875 浏览

ios - WatchOS 4 不接收心率样本?

使用来自 SpeedySloth 的 Apple 示例代码,我在模拟器上获取了心率样本,但在运行 WatchOS 4.1 的 Series 0 Apple Watch 上没有获取任何样本。这是一个错误吗?还有谁有相同的问题吗?

代码:

0 投票
1 回答
258 浏览

ios - 用于实时消息传递的 WKExtension 状态和 sendMessage

我正在开发一个需要与 iOS 应用程序通信的 WatchApp,我正在使用 Watch Connectivity fwk 来做到这一点。

每次用户显示我的 WatchApp 时,我都需要从 iOS 应用程序中获取一组必须在 Watch 上显示的新数据。

为了获取这些数据,我正在使用sendMessage(_:replyHandler:errorHandler:)但有时似乎这种通信不起作用,因为我的 WatchApp 没有更新。从 Xcode 启动 WatchApp 时我没有问题,只有在我在现实生活中使用它时才会出现问题。

每次我的 WatchApp 回调时,我都会触发 WatchApp 和 iOS App 之间的同步:

  • WKInterfaceController.willActivate()(我只有一个Controller)
  • WCSessionDelegate.session(WCSession, didReceiveApplicationContext:
    [String : Any])
    当activationState == .activated
  • WCSessionDelegate.sessionReachabilityDidChange(WCSession)
    会话可达时

在 2015 年 WWDC 的视频“Introducing Watch Connectivity”中,演讲者告诉 WatchKit Extension在向 iOS App 发送交互式消息时必须在前台运行。

这是否意味着除了WCSession.activationState == .activated之外,我还需要在调用sendMessage(_:replyHandler:errorHandler:)之前检查WKExtention.shared().applicationState == .active ?

当我的 WatchApp 在 Dock 中并且用户显示 Dock 时,我的 WatchApp 有一个 WKExtension.shared().applicationState == .inactiveWKExtension.shared().isApplicationRunningInDock == true,我可以使用 sendMessage(_:replyHandler: errorHandler:) 在这种状态下更新我的应用程序?

我只是想知道在使用 sendMessage(_:replyHandler:errorHandler:) 之前需要检查哪些条件。

谢谢,

0 投票
1 回答
87 浏览

ios - 我可以在 Apple Watch 上同时开始 2 次锻炼吗?

我想在我的 Apple Watch 应用上同时开始 2 次锻炼。根据文档,看起来我一次只能运行一个会话,但是有人知道解决方法吗?

0 投票
1 回答
1133 浏览

ios - containerAppExtensionEntitlementsWithCompletion 失败并出现错误:(null)

我在我的手表应用程序的控制台中收到此错误,我无法弄清楚它与什么相关,也没有找到任何其他帖子或文档。还有人知道吗?

完整消息是 2017-12-02 18:31:01.379382-0500 Watch Extension[1308:33925] [default] containerAppExtensionEntitlementsWithCompletion: failed with error: (null)

0 投票
1 回答
853 浏览

watchos-3 - 从 WatchOS 应用程序向 iOS 应用程序发送消息时传递失败

在我的 InterfaceController 我有以下代码:

在 ViewController 我有以下代码:

当我从 Watch App 发送消息时,我收到以下错误

iOS App 的调试窗口为我提供了以下信息:

我是否缺少 ViewController 类中的任何实现?我正在使用 Xcode 9.0

0 投票
2 回答
4355 浏览

ios - 如何在设备上查看 Apple Watch 崩溃日志(无 Xcode)

链接讨论了如何在 iPhone 上获取崩溃报告,但我不清楚一旦我获得分析数据(1)我正在查看的内容和(2)我正在尝试追查最近的原因我的 Apple Watch 应用程序崩溃,我如何才能找到此信息?

0 投票
2 回答
1162 浏览

ios - 在后台和屏幕关闭时在 WatchKit 锻炼应用程序中播放音频

我正在尝试构建一个 WatchKit 应用程序,该应用程序将在锻炼期间提供音频反馈。音频是一系列预先录制的简短语音片段。

  • 该应用程序开始锻炼
  • 应用程序处于活动状态时,音频剪辑可以正常播放
  • 当应用程序在后台而屏幕打开时(例如通过点击数字表冠或打开另一个应用程序),音频也可以正常播放。

但是,当屏幕关闭时(例如通过开始锻炼然后放低手腕),音频不会播放,直到应用程序再次激活。

IE

  1. 开始锻炼 + 将应用程序保持在屏幕上 = 声音播放正常。
  2. 通过点击数字表冠开始锻炼 + 将应用程序移至后台 + 保持屏幕开启 = 声音播放正常。
  3. 开始锻炼 + 下手腕 = 屏幕关闭且不再播放声音。
  4. 开始锻炼 + 将应用程序移至后台 + 下手腕 = 屏幕关闭且不再播放声音。

我试图弄清楚我错过了什么,以便在屏幕关闭时支持锻炼应用程序中的音频......

  • 该应用程序有一个活跃的HKWorkoutSession.
  • 该扩展在下启用了“锻炼处理”后台模式WKBackgroundModes
  • 该扩展程序还启用了“音频”背景模式UIBackgroundModes
  • 该扩展程序具有 HealthKit 权利,并且所有 HealthKit 功能都可以正常工作。
  • 在 iOS 应用上,我添加了“音频”背景模式。

我试过了:

  • 使用播放音频剪辑AVAudioPlayer
  • AVAudioEngine使用+播放音频AVAudioPlayerNode
  • 完全放弃剪辑并使用 AVSpeechSynthesizer

行为是相同的 - 一旦屏幕关闭,声音就不再播放。如果应用程序在后台并且屏幕仍然打开,声音会播放。

该应用程序在 Watch OS 4 上运行。我在 Series 2 和 Series 3 手表上进行了测试,两者都相同。

我错过了什么?

0 投票
1 回答
131 浏览

swift - swift addMenuItem 的语法是什么

我是 Swift 的新手,无法确定实现 Swift addMenuItem 的语法。 文档说:

func addMenuItem(with itemIcon: WKMenuItemIcon, title: String, action: Selector)

但我不知道如何应用它。我想使用类似更多的系统 WKMenuItemIcon,标题如“添加一些”和我自己的操作函数 addMore(),如:

请有经验的 Swifter 向我展示在 Xcode 9.2 和 watchOS4 中使用的语法吗?