ドキュメントによると、指定された初期化子は常に呼び出される必要がありますが、アクセス許可を持たずにユーザーの血液型を取得しようとすると、NSError
作成されますが、その指定された初期化子 ( - [NSError initWithDomain:code:userInfo:]
) は呼び出されません。
私が使用しているコードは次のとおりです。
HKHealthStore *healthStore = [[HKHealthStore alloc] init];
HKBloodTypeObject *bloodType = [healthStore bloodTypeWithError:&error];
NSLog(@"Blood type: %@, error: %@", bloodType, error);
Obs: 指定されたイニシャライザが呼び出されていないことはわかっています。他のメソッドのようなもの- [NSFileManager contentsOfDirectoryAtPath:error:]
は、期待どおりに動作します。
なぜそれが起こっているのですか?何か不足していますか?レーダーを開くべきですか?