首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在watchOS应用程序通过HKWorkoutSession在后台运行时使WCSession可访问

如何在watchOS应用程序通过HKWorkoutSession在后台运行时使WCSession可访问
EN

Stack Overflow用户
提问于 2021-03-12 22:38:43
回答 1查看 127关注 0票数 1

我的watchOS应用程序使用锻炼应用程序接口,以便在应用程序转到后台时保持运行。问题是,当应用程序在后台时,WCSession变得无法访问。但是,我可以运行我的代码,在某些情况下,它需要向iPhone对应应用程序发送一条消息。

该应用程序的具体要求用户不必与其交互-如果出现超时,手表应用程序会自动将消息发送到手机。

这有可能实现吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-03-17 03:04:22

我相信handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>)方法就是您要找的。Documentation Link

如果没有看到您的代码,我就不能确定您当前的进度,但我已经使用此方法在用户位置更改时在后台更新了watchOS复杂性。

代码语言:javascript
运行
复制
func handle(_ backgroundTasks: Set<WKRefreshBackgroundTask>) {
    for task in backgroundTasks {
        if WKExtension.shared().applicationState == .background {
            // Do your background work here.
            if let watchComplication = task as? WKWatchConnectivityRefreshBackgroundTask {
                pendingConnectivityTasks.append(watchComplication)
            }
        }
        task.setTaskCompletedWithSnapshot(true)
    }
    completePendingConnectivityTasksIfNeeded()
}

作为附注,我会补充说,如果你的应用程序不是一个实际的锻炼应用程序,它将被拒绝在应用程序审查期间使用HealthKit锻炼会话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66601959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档