问题标签 [watchos-5]
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.
ios - iOS WatchOS5 - 如何确定手机上 WatchOS 复杂功能的大小?
我正在看这个关于开发苹果手表复杂功能的视频和这个手表复杂功能尺寸表。
目前,我让我的手机在手机上生成全屏并发症图像,并使用后台应用刷新将其推送到手表。但是,我不知道如何获得正确的设备复杂度大小。
该文档建议我可以以编程方式从手表上的手表资产目录加载图像,它将根据设备尺寸加载正确尺寸的图像。然后我可以检查这个图像并确定大小。但是,这需要往返并使用 WKSession 将大小发送到手机。
有没有一种简单的方法可以在手机上确定苹果手表的屏幕尺寸是多少?我看到了应该在手表上运行的代码,但我的应用程序在手机上生成了资产。
我可以在较小的设备上将图像缩小 1.14,但这会使图像更加模糊。
ios - iOS WatchOS5 - 如何为手表应用程序支持多个复杂功能系列?
我的 Apple Watch 应用程序有一个复杂功能,我想添加第二种样式。我建立了一个非常基本的原型,但在表盘上看不到它可供选择。所以我试图解决这个问题:
我的应用程序可以支持多种并发症吗?我可以在表盘上同时运行两个复杂功能吗?(或者是非此即彼的情况,如果我有一个,iOS 不会显示第二个?)我尝试添加一个新的表盘,但它不允许我。
是并发症类型的CLKComplicationTemplateModularSmallRingText
有效模板吗?ModularSmall
占位符模板现在是相同的:
我在并发症占位符文件中看到一个错误(但我正在 44 毫米设备上进行测试) - 将修复它并查看发生了什么。我是否为模块化并发症返回了错误的图像或错误的模板类型?我想要一个圆环规
swift - iOS WatchOS5 - 如何以编程方式检测 Apple Watch 是否在特定时间间隔戴在手腕上(佩戴)?
如果有一些 HealthKit 或其他数据源我可以查询以了解 Apple Watch 是否在给定的时间间隔内佩戴/与手腕接触,我很感兴趣。目前我依靠 HealthKit 查询 HeartRate,如果我在某个窗口内没有得到心率读数,那么手表很可能不在手腕上或正在充电。
有没有更好的方法来检测 Apple Watch 是否戴在手腕上?
这种方法的问题在于它的描述性不强——如果用户在最后一分钟戴上手表并进行了测量,那么这个逻辑会将整个时间段视为手表“开启”。有更好的吗?
swift - Swift - 无法检索 CMSensorDataList 记录
我正在制作一个可以记录用户加速的 Watch 应用。我已经使用CMSensorRecorder
框架CoreMotion
来执行此操作。
现在程序的流程是用户按下手表上的按钮,触发加速度记录30秒。在此之后,有6分钟的延迟(参考这里的回答:watchOS2 - CMSensorRecorder,读取数据需要延迟),并将加速度和时间戳数据打印到控制台。
现在我在运行应用程序时收到“响应无效”和“发生错误”。我在info.plist
文件中添加了动作使用说明。
我对 Swift 和应用程序开发还很陌生,我担心我尝试访问数据的方式有问题。我在下面附上了控制台日志和代码。
任何人都可以提供一些关于这些消息的见解以及如何解决这个问题吗?我已经四处搜索,但之前没有发现任何与此问题相关的案例。干杯。
watchkit - 通过使用 URL 请求获取数据来更新 Apple Watch 复杂功能
我遇到了一个并发症,需要通过从服务器获取数据来不时更新。
我正在尝试从 Watch 获取数据。我是通过安排一个WKRefreshBackgroundTask
. 当此任务触发时,我启动一个 URL 会话以从服务器获取一些 JSON 数据。
成功获取数据后,我WKApplicationRefreshBackgroundTask
通过调用其setTaskCompletedWithSnapshot(false)
.
这一切似乎都可以正常工作,但是,我宁愿创建一个WKURLSessionRefreshBackgroundTask
之后WKApplicationRefreshBackgroundTask
在后台下载它并在后台任务中消耗更少的时间。我认为这是不可能的,我没有下载或上传文件。如果我理解正确WKURLSessionRefreshBackgroundTask
,aURLSessionConfiguration.background(withIdentifier:)
只能用于URLSessionUploadTask
s 或URLSessionDownloadTask
s,所以我不得不忘记这个想法。(如果我误解了,请纠正我)。
现在我遇到的最大问题是,当手表被锁定(取下手腕,戴上充电球等)时,URL 请求没有被执行。因此数据没有被更新。我们应该如何处理?当手表被锁定时,活动编辑会变暗,一旦你解锁手表,它就会重新加载。我们可以做些什么来了解手表被锁定/解锁吗?
使用 a 从 Watch 获取数据是正确的方法WKApplicationRefreshBackgroundTask
,还是唤醒手机并让手机使用 请求数据更好WatchConnectivity
?如果是这样:WCSessionDelegate
您将使用哪些功能来实现这一目标?
如果直接从 Watch 获取数据是要走的路:我可以WKApplicationRefreshBackgroundTask
在请求完成之前将其设置为完成,还是应该等到请求完成之后?(即,应该在什么时间点WKApplicationRefreshBackgroundTask.setTaskCompletedWithSnapshot()
调用)。
我阅读了大量文章并观看了多个视频。然而,我仍然很难找到正确的架构来从服务器获取编译数据并让这个工作坚如磐石。
希望有人可以对此事有所启发。
ios - WCSession 无法使用 transferCurrentComplicationUserInfo?
这就像听起来一样简单。当我尝试使用 session.transferCurrentComplicationUserInfo(_:) 时,我收到标题中逐字写入的错误消息。
查看文档(transferCurrentComplicationUserInfo,WCSession)没有迹象表明它已被弃用......另外,如果某些东西被弃用,它会在错误消息中说明并且仍会显示在 Xcode 的智能感知中(尽管带有删除线)。对我来说,两者都没有发生。
那么为什么 Xcode 说它不可用呢?
这是导致错误消息的准系统代码:
对于某些背景,我使用的是 Xcode 10.1 和 Swift 4.2。我的应用程序的部署目标是 iOS 9.3,而我的手表扩展是 watchOS 4.0。
ios - CMSensorRecorder 未获得授权,但从未提示我授权?
我正在制作一个应用程序,它将在 Apple Watch 上记录用户加速一段时间并将该数据发送到配对的 iPhone。我正在使用CoreMotion
框架来实现这一点。
我的问题:我一直在使用一个CMSensorRecorder
对象来记录数据。这工作了一段时间,但CMSensorRecorder.authorizationStatus()
现在“未授权”。
从一开始,我在手表和手机应用程序NSMotionUsageDescription
的文件中都有一个。info.plist
我已经删除并重新添加了这些,但没有运气。
我记得应用程序显示提示以允许运动跟踪,但无法重新创建显示提示的能力。非常感谢有关如何CMSensorRecorder
再次启用的任何建议。干杯。
我的代码初始化CMSensorRecorder
:
ios - iOS Xcode 10.2 无法将调试器附加到 Apple Watch
我正在尝试在真实设备上调试我的 WatchKit 应用程序。我选择 watchkit 应用目标,我的真实设备 + Apple watch 作为部署目标。Xcode 成功将应用程序部署到设备,但似乎在调试器完成附加之前退出。我在 Xcode 中看到“在手表上完成运行的应用程序”,然后手表屏幕超时并且调试器附件完成。
如何在实际手表上部署和调试 WatchKit 应用程序?
如果我在 Apple Watch 上选择调试 > 附加到进程 > 选择进程,它也会超时。
我的设备是否有缺陷,或者这是一般的 Xcode 错误?我没有设置一些标志吗?我可以在 Xcode 的设备列表中看到我的设备及其配对手表。
ios - AppleWatch:Digital Crown 触觉反馈
我正在构建WathcOS 应用程序。有一个只有标签的简单视图。当用户滚动 Digital Crown 时,我想更改标签文本。
在我的 WKInterfaceController 我做了
问题是我没有听到 Native Digital Crown Haptic 反馈,例如当您在 Watch Home 屏幕或任何其他应用程序上滚动它时。我可以手动添加触觉反馈,例如:WKInterfaceDevice.current().play(.click)
但这与 Scroll 触觉不同。如何打开滚动触觉?为什么它不起作用?
PS Haptic 在手表设置中打开。
ios - “缺少架构。使用 Watch OS 5.0 及更高版本的 SDK 构建的应用程序必须包含额外的架构。”
当我尝试将应用程序上传到 appstoreConnect 时,它失败并出现以下错误:
错误 ITMS-90733:“缺少架构。使用 Watch OS 5.0 和更高版本的 SDK 构建的应用程序必须包含其他架构。
iOS 版本:iOS 10 WatchOS 版本:WatchOS 3
iOS 的构建设置“有效架构”是“arm64 arm64e armv7 armv7s”
watchOS 的构建设置“有效架构”是“arm64_32 armv7k”
有没有人遇到类似的错误?