如何读取Apple Watch Ultra的物理操作按钮?

问题描述 投票:0回答:2

有没有办法在 SwiftUI 中读取 Apple Watch Ultra 的操作按钮?

您可以像下面的示例一样阅读数字表冠,但我没有找到任何类似的操作按钮?

struct DigitalCrown: View {
    @State private var crownValue = 0.0

    var body: some View {
        Text("Received Value:\(crownValue, specifier: "%.1f")")
            .focusable()
            .digitalCrownRotation($crownValue)
    }
}
swift swiftui apple-watch watchos
2个回答
2
投票

我还没有找到如何指定一个动作,但有一个 UI 测试。

XCUIDevice.current.press(.action)

https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes

从措辞来看,我猜这可能是一个“捷径”


1
投票

Apple Watch Ultra 的操作按钮由新的 App Intents API 提供支持。您将能够构建自己的应用程序来与其集成,例如使用按钮记录目标的曲棍球应用程序。对于用户来说,该按钮可以启动任何您想要的快捷方式。

要使用此功能,请创建一个符合 StarWorkoutIntent 协议的 Intent:https://developer.apple.com/documentation/appintents/startworkoutintent

这些 API 适用于锻炼应用程序,因此要将这个新按钮置于控制您的应用程序的模式下,您至少需要从 StartWorkoutIntent 开始。

完成此操作后,您可以使用 actionButtonIntent 创建 AppIntent 结果,以将按钮下一步要做的事情设置为任何其他意图。或者,如果您要根据应用程序 UI 中发生的情况更改按钮的行为,则可以使用捐赠来实现此目的。

https://twitter.com/mgorbach/status/1567570300820144131

© www.soinside.com 2019 - 2024. All rights reserved.