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

watchkit - WatchOS 4 未收到后台 GPS 更新

发布这个问题并附上答案,以便其他人可以找到它。

我们在商店中有一个记录活动路径的应用程序。当我们将 WatchOS 更新到版本 4 时,我们的后台 gps 更新在应用程序转换到后台时停止。

0 投票
1 回答
681 浏览

ios - 如何让 Digital Crown 重新与 watchOS 4 一起使用

我有一个 watchkit 应用程序,它通过设置使用数字表冠

在我正在实现的接口控制器的唤醒方法中:

在 watchOS 3 中,我的委托方法执行得很好:

升级到 watchos4 后,此功能中断。一个简单的重新编译和转换为 swift 4 并没有帮助。

0 投票
1 回答
150 浏览

ios - Xcode 9,watchOS4,不再显示 15% 的后台 CPU 限制?

使用 Xcode 9.0 和 watchOS 4,看起来当应用程序在后台工作时(比如在 HKWorkoutSession 中),Xcode 中的 CPU 报告工具不会显示 CPU 平均值/上限和 15% 的阈值最大值。

我找不到有关被删除规则的文档,所以我很好奇为什么该功能似乎不再存在。

Xcode 9/watchOS 4 之前的 CPU 工具显示 CPU 工具具有平均/上限和使用限制

Xcode 9/watchOS 4 中的 CPU 工具缺少平均值/上限/使用情况图例和数据

谢谢

0 投票
2 回答
7620 浏览

watchkit - 使用 LTE 在 Apple Watch 上发出 URLSession 请求时,“互联网连接似乎处于脱机状态”

漏洞:

我一直收到错误代码 -1009“Internet 连接似乎处于脱机状态。” 仅通过 LTE 连接到 Internet 时,在 Apple Watch Series 3 上的 Apple Watch 扩展中发出 URLSession 请求时出错。

重现步骤:

  1. 安装应用程序。
  2. 配置您的设备,使其仅支持 LTE。
  3. 使用 iMessage 验证您与 LTE 的连接,例如
  4. 启动应用程序。
  5. 使用 .default 或 .ephemeral 会话配置初始化 URLSession。
  6. 为任何已知良好的 https URL 发出数据任务请求。

预期行为:

该请求设法到达目的地。

观察到的行为:

请求立即失败,错误代码为 -1009“Internet 连接似乎处于脱机状态。”

代码示例:

0 投票
1 回答
694 浏览

swift - WKRefreshBackgroundTask cleanupStorage 尝试访问文件时出错

在模拟器上的 WatchOS4 中创建 URLBGTask 时出现此错误是什么?

2017-09-28 16:05:26.452999+0900 MiFollowers WatchKit Extension[4628:4012814] [bg_app_refresh] -[WKRefreshBackgroundTask cleanupStorage]_block_invoke:213: Error attempting to reach file:///Users/ryuuzaki/Library/Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_(null): Error Domain=NSCocoaErrorDomain Code=260 "The file “bktaskapp_(null)” couldn’t be opened because there is no such file." UserInfo={NSURL=file:///Users/ryuuzaki/Library/Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_(null), NSFilePath=/Users/ryuuzaki/Library/Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_(null), NSUnderlyingError=0x79b0e340 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}

你们中的任何一个聪明的人都知道这一切意味着什么吗?

0 投票
1 回答
508 浏览

watchos-4 - 使用 enableWaterLock

我想在我的 watchOS 应用程序中使用新的“enableWaterLock”功能,但我无法让它工作。

这是我的代码:

如果满足该功能的所有条件,则从添加到 willActivate() 函数中的菜单按钮调用 lockScreen()。

在文档中说:

使用水锁时适用以下规则:

  • 您只能在活动锻炼或定位会话期间应用程序在前台运行时启用水锁。
  • 应用程序必须在受支持的设备上运行(WKInterfaceDevice 对象的 waterResistanceRating 属性必须设置为 wr50)。
  • 水锁保持活动状态,直到用户解锁它。您无法以编程方式解锁手表。

所以我猜我的手表应用程序不是主动锻炼或定位会话。这两者之一需要什么?我的应用程序使用 locationManager,但这显然还不够。

0 投票
1 回答
77 浏览

ios - Cordova SQLite 插件兼容性

我正在寻找构建一个也利用 Apple Watch 应用程序的 iOS 混合应用程序。watchOS 应用程序收集要存储的高度计数据,仅此而已。我正在考虑使用这个插件,因为 watchOS 部分是用 Swift 编写的。我还没有开始 iPhone 应用程序,它现在只是空白,但正在考虑使用 Cordova 使其成为一个混合应用程序。我一直在寻找在应用程序之间共享数据的最佳方式,我认为 SQLite 可能是最简单的。

这个cordova插件可用于使用JS操作SQLite数据库中的数据。这可以在 iPhone 应用程序中使用。我想我的问题是 - 这可能吗?如果我使用这个库快速创建一个数据库,Cordova 插件可以访问它吗?有没有人有更好的想法将数据从原生 watchkit 应用程序共享到混合 iPhone 应用程序?

0 投票
1 回答
44 浏览

ios - WatchKit 获得用户偏好的惯用手

我读到在 WatchOS 4 中,开发人员将能够访问用户为哪只手设置了 Apple Watch(如左/右)。我还没有找到任何关于此的文档。有没有人弄清楚这一点?

0 投票
1 回答
539 浏览

swift - 当最前面的应用收到通知时播放触觉

在 Apple 的Frontmost App Behavior文档中,指出

“[...] 当最前面的应用程序收到通知时,它可以播放触觉反馈或自定义声音,而不是显示通知警报,然后更新其用户界面。”

但是,我无法实现这一点。现在,按下按钮后,我在安排通知之前将应用程序声明为最前面:

当应用程序在前台收到通知时,它会播放一个触觉:

这在用户的手腕抬起时有效,但在用户点击按钮后降低手腕时无效。当手腕抬起或放下时,控制台会打印收到的前台通知。

如果不是播放触觉,我设置completionHandler([.alert,.sound])通知在手腕抬起或放下时提醒用户。这是我想要的行为,但仅限于触觉。

我该如何实施?

0 投票
0 回答
357 浏览

ios - WatchOS 4 App:CBCentralManager 状态始终处于 CBManagerStateUnsupported

我正在为 Apple Watch Series 3 开发一个应用程序,它的状态似乎CBCentralManager总是CBManagerStateUnsupported.

我正在使用以下代码:

我究竟做错了什么?