gpt4 book ai didi

ios - Xamarin 中的 HKErrorDomain(HealthKit 错误域)常量

转载 作者:行者123 更新时间:2023-11-29 01:38:49 25 4
gpt4 key购买 nike

当我的 HealthKit 客户端请求 Xamarin iOS 中的数据权限时,我正在编写一些错误处理。我这样提出请求:

public HKClient()
{
var HealthKitStore = new HKHealthStore();
HealthKitStore.RequestAuthorizationToShare (dataTypesToWrite, dataTypesToRead, OnHealthPermissionsCompleted);
}

void OnHealthPermissionsCompleted (bool success, NSError error)
{
//Parse error.Domain and error.Code herere
}

在我的 OnHealthPermissionsCompleted 中,我想解析 NSError 以调试请求失败的原因。首先要做的是检查 error.Domain 以确保它是 HealthKit 错误,然后将 error.Code 与 HKErrorCode 枚举中的常量进行比较。问题是,我找不到任何应该在 error.Domain 中与 HealthKit 相关的错误的常量。 Apple 文档说应该有一个名为“HKErrorDomain”的常量供我比较,但 Xamarin 中没有。 https://developer.apple.com/library/prerelease/watchos/documentation/HealthKit/Reference/HealthKit_Constants/index.html#//apple_ref/doc/constant_group/Health_Kit_Error_Domain

https://developer.xamarin.com/api/namespace/HealthKit/

如果我强制出错然后在调试器中检查它,我会看到 error.Domain = "com.apple.healthkit"。我可以与那个字符串进行比较,

void OnHealthPermissionsCompleted (bool success, NSError error)
{
if(!success && error.Domain == "com.apple.healthkit")
{
//continue parsing...
}
}

但是在这些东西中加入神奇的字符串让我感到恶心,尤其是当我知道原生 iOS 中存在一个常量时。我在这里遗漏了什么还是这是我唯一的选择?

最佳答案

现在 Xamarin 的 Bugzilla 上提交了一个错误来显示此常量:

https://bugzilla.xamarin.com/show_bug.cgi?id=34140

关于ios - Xamarin 中的 HKErrorDomain(HealthKit 错误域)常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32660416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com