从另一个应用程序打开 HealthKit 应用程序

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

我想构建一个健身应用程序,将数据上传到 HealthKit。有没有办法从另一个应用程序打开/导航到 HealthKit?

ios8 healthkit
4个回答
22
投票

在 iOS 10 上,健康应用程序 URL 方案为

x-apple-health
。您可以通过调用以下命令从您自己的应用程序中打开它:

目标-C:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"x-apple-health://"]];

斯威夫特:

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

参见 使用 url 方案打开健康应用 |苹果开发者论坛.


4
投票

iOS 不提供用于启动其他应用程序的通用 API,并且 Health 应用程序需要支持 URL 方案,以便您从自己的应用程序启动它。请参阅从另一个 (iPhone) 中启动应用程序


3
投票

Swift 5“更安全的方式”

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

    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }
}

用途:

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

0
投票

您可以在

Settings>Health>Source
或更高版本中打开
iOS 12
路径。您可以在列表中找到
MyApp
并更改访问权限。您可以按照以下步骤操作:

extension UIApplication {

    func openAppleHealthSources() {
        guard let url = URL(string: "App-prefs:HEALTH&path=SOURCES"),
              self.canOpenURL(url) else {
            return
        }
        self.open(url)
    }
}

用途:

UIApplication.shared.openAppleHealthSources()

但这可能会导致您的应用程序在审核过程中被拒绝......

您的应用程序使用“prefs:root=”非公共 URL 方案,这是一个私有实体。 App Store 不允许使用非公共 API,因为如果这些 API 发生更改,可能会导致糟糕的用户体验。在以后提交此应用程序时继续使用或隐藏非公开 API 可能会导致您的 Apple 开发者帐户被终止,并从 App Store 中删除所有关联的应用程序。

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