有没有人在iOS8中结合这两个新功能呢?我试图从小部件访问HealthKit。但由于应用程序和扩展使用两个单独的App ID,因此窗口小部件会自动拒绝访问HealthKit。 “通知中心/今天”视图不显示任何允许访问的提示。我注意到它试图因为我看到一个"不平衡的视图控制器转换"在控制台中发出警告,但没有显示任何内容。
对于手动修复 - Health应用程序将显示具有可手动更改权限的软件包ID。但是,没有应用程序图标,并且扩展名列为其捆绑包ID,未列为其产品名称。这让我觉得这仍然是他们在测试版中所做的工作。
答案 0 :(得分:1)
您可以尝试从包含的应用访问HealthKit数据,然后通过应用组与您的分机共享这些数据。
我还没看过HealthKit,但在另一个案例中,App Group的功能对我来说很好。
答案 1 :(得分:1)
我还没有尝试在我的应用程序中的这些功能之间进行这种组合,但在集成HealthKit功能时,我碰巧在HealthKit文档中看到以下内容:
HealthKit和Health应用程序在iPad上都不可用。 HealthKit框架无法在应用扩展程序中使用
所以我假设没有直接的方式......你可以在这里阅读更多内容:HealthKit_Framework Documentation
答案 2 :(得分:0)
您将无法访问HealthKit。引用Apple's App Extension Programming Guide:
某些API不适用于App Extensions
由于其在系统中的重点作用,应用扩展程序没有资格参与某些活动。应用扩展程序不能:...
使用头文件中标记的任何API与NS_EXTENSION_UNAVAILABLE宏或类似的不可用宏或不可用框架中的任何API
例如,iOS 8.0中的,HealthKit框架和EventKit UI框架对于应用扩展程序无法使用。
[强调补充。]