以编程方式打开 Apple Health

Posted

技术标签:

【中文标题】以编程方式打开 Apple Health【英文标题】:Open Apple Health programmatically 【发布时间】:2016-07-29 15:32:22 【问题描述】:

是否可以像使用“设置”应用一样以编程方式打开“健康”应用?

如果无法直接打开应用的 Apple Health 权限屏幕,我们至少可以打开 Apple Health 主屏幕吗?

编辑:我知道我不能再次请求权限 - 就像相机访问等其他事情一样。但是,如果用户拒绝相机权限,我可以将他们直接引导到“设置”页面,他们可以在其中更改这些权限。

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:url];

健康App有这种东西吗?

【问题讨论】:

如果你在寻找 swift,看看这个raywenderlich.com/86336/ios-8-healthkit-swift-getting-started Open HealthKit App from another app的可能重复 【参考方案1】:

看起来从 iOS 10+ 开始就可以打开 Health 应用了。

UIApplication.shared.open(URL(string: "x-apple-health://")!)

详情请看这里

*** post

【讨论】:

这没有正式记录或支持,并且可能随时更改。它也没有解决将应用程序直接打开到您的应用程序的授权控制详细信息的请求。我不建议你使用这个。 有没有办法在健康应用里面打开应用获得权限? @KrishnaKirana 你找到答案了吗?【参考方案2】:

Swift 5,更安全的方式 -

   func openUrl(urlString: String) 
    guard let url = URL(string: urlString) else 
        return
    

    if UIApplication.shared.canOpenURL(url) 
        UIApplication.shared.open(url, options: [:])
    

用法:

openUrl(urlString: "x-apple-health://")

【讨论】:

【参考方案3】:

没有 API 可以将用户发送到 Health 应用。

【讨论】:

这不应该被否决。没有正式的 API 可以打开 Apple Health。有 URL,但这对帮助用户设置权限没有多大帮助

以上是关于以编程方式打开 Apple Health的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式获取/刷新 Health Kit 数据?

如何以编程方式从 iOS 应用程序打开 Apple Watch 配套应用程序

如果您使用的是 Apple Watch,是不是需要先打开 Health App 同步数据,然后再打开自己的 healthkit 应用程序获取最新数据?

在 OS X 中以编程方式打开地图应用

如何以编程方式检查和打开现有应用程序 - Swift 4

iOS WatchOS5 - 如何以编程方式检测 Apple Watch 是不是在特定时间间隔戴在手腕上(佩戴)?