如何从另一个 iOS 应用程序启动健康 iOS 应用程序

How to launch Health iOS app from another iOS APP

我正在尝试从我的应用程序启动 Health 应用程序。

我通常尝试使用以下代码行来启动应用程序,例如

 let mystr = "health://"
    let myurl = NSURL(string: mystr)!
    if (UIApplication.sharedApplication().canOpenURL(myurl))
    {
         UIApplication.sharedApplication().openURL(myurl)
    }
    else
    {
        print("unable to open")
    }

我在上面尝试过 code.i 出现错误 ("null")。

请有人帮忙解决这个问题。

提前致谢。

您无法直接从您的应用程序打开 HealthApp。因为OS只支持使用UIApplicationOpenSettingsURLString打开设置App。如果我们使用URL方案打开HealthApp,那么Apple可能会在审核过程中拒绝该App。

我对 HealthKit 框架没有任何经验,但这是我发现的:

根据 Open Apple Health programmatically,您无法创建从您的应用程序到健康应用程序的深层链接,因为它不受支持。

如果您希望使用 Health 应用程序的数据,您必须在您的应用程序中实施 HealthKit 框架并向您的用户请求许可。

我尝试使用适用于其他应用程序的代码深入链接到健康应用程序并获得了与您相同的结果。

使用 iOS 10+ 试试这个:

let mystr = "x-apple-health://"

也许在 objective.c:

-(IBAction)openAppHealth:(id)sender {  
  [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"x-apple-health://"] options:@{} completionHandler:nil];
}

iOS10 的新 openURL