我在我的ios Swift应用程序中添加了healthkit的代码,但我收到了错误...
/* Ask for permission to access the health store */
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
if HKHealthStore.isHealthDataAvailable(){
healthStore.requestAuthorizationToShareTypes(typesToShare,
readTypes: typesToRead,
completion: {(succeeded: Bool, error: NSError!) in
if succeeded && error == nil{
println("Successfully received authorization")
} else {
if let theError = error{
println("Error occurred = \(theError)")
}
}
})
} else {
println("Health data is not available")
}
}
发生错误=错误Domain = com.apple.healthkit Code = 4" Missing com.apple.developer.healthkit权利。"的UserInfo = 0x7fa748534b00 {NSLocalizedDescription =缺少com.apple.developer.healthkit 权利}
如何解决这个问题?
谢谢!
答案 0 :(得分:12)
我花了3天时间试图找出问题所在。我找到了这些步骤的解决方案:
我正在使用iOS 9.3.2和Xcode 7.3.1
答案 1 :(得分:9)
首先应尝试上述两个答案。但是如果
然后尝试通过选择目标并转到
强制构建使用该特定的配置文件构建设置 - >代码签名 - >供应资料
并手动选择。
如果正在使用“自动选择”,我遇到了在调试中遇到上述错误的情况
答案 2 :(得分:8)
该错误是由于您尚未将HealthKit权利添加到目标。
1)转到Xcode中的项目设置。 2)从那里,导航到"功能"标签。 3)向下滚动,直到看到" HealthKit"并将开关拨到打开状态。 4)Xcode现在将为您的Info.plist,您的{ProjectName} .entitlements文件和iTunes Connect上的App ID添加HealthKit权利
执行这些步骤后,请尝试再次运行您的应用。这一次它应该工作。
答案 3 :(得分:4)
在功能
中激活健康工具包
如果仍然无效
<强> check
强>:
答案 4 :(得分:1)
一些可能有用的其他信息。如果在HealthKit功能下,第一步“为您的应用程序ID添加运行状况工具包权利”显示错误,并且您有一个“修复此”按钮,该功能无法执行...请继续阅读...
在处理多个HealthKit测试项目后很多次,您可能会发现您的Bundle ID与另一个与另一个HealthKit项目一起使用的Bundle ID相匹配(假设您复制了一个项目以分拆另一个测试)。此争用将在“iOS开发”图片中的第一个复选标记下显示为错误“将健康工具包权利添加到您的应用ID”。不幸的是,当您需要更改“Bundle ID”时,功能部分中列出的错误将其称为“app id”。在您的包ID字符串中添加一个数字(或某个字符)以使其唯一。然后,HealthKit功能设置中的“修复”按钮将起作用。
Bundle ID(又名“App ID”)位于“Capabilities”选项卡左侧的“General”选项卡下。
答案 5 :(得分:0)
这是您尚未在目标编辑器中打开“功能”选项卡,然后打开HealthKit开关的原因。
并要解决权限问题,请根据您的项目要求在info.plist中添加以下项并写下原因。 1.健康更新用法说明 2.健康记录使用说明 3.Health Share使用说明
出于授权目的,您也可以继续使用免费的开发者帐户。 祝你好运
答案 6 :(得分:0)
我确实添加了两者
NSHealthShareUsageDescription
和 NSHealthUpdateUsageDescription
(确保值大于 12 个字符 - 在某处阅读)在 Info.plist
接下来,类似于 Jorge Luis Jiménez 截图
+
标志(添加库)