アプリがMotion Activity
データにアクセスする必要がある場合は、インストール時にユーザーに確認します。しかし、ユーザーが誤って「いいえ」と答えた場合、アプリは機能しません。iOS - 設定>プライバシー>モーションアクティビティでモーションアクティビティが有効になっています
モーションアクティビティが有効になっているかどうかを確認する方法を探しています。そうしないと、有効にするようにユーザーに促すことができます。
誰かが私に正しい方向のコードを賢明に教えてもらえますか?
ドクからの情報に続いて(ありがとうございます)、AppleがプライバシーにMotion Activity
の状態を確認するための直接的な方法を提供していないようです。私は、エラー時にピックアップして見つけることができました: -
[stepCounter queryStepCountStartingFrom:[NSDate date]
to:[NSDate date]
toQueue:[NSOperationQueue mainQueue]
withHandler:^(NSInteger numberOfSteps, NSError *error) {
if (error != nil && error.code == CMErrorMotionActivityNotAuthorized) {
// The app isn't authorized to use motion activity support.
}
こんにちは - 私はこれを見て取り、それが[CMMotionActivityManager isActivityAvailable]を使用しています。私はちょうどこれを試して、設定されているかどうかにかかわらず、常にTRUEを返します!非常に奇妙な、彼らが言うように、これが返されれば、彼らはUNAVILABLEと言います。彼らは 'チェック'を提供するようではなく、有効にするための最初の呼び出しを提供しているようです。しかし、それが無効にされている場合は、再要求しません! – MrNeilM
'[CMMotionActivityManager isActivityAvailable]'は、デバイスがモーションデータをサポートしているかどうかを示すブール値を返します。つまり、許可を再申請する方法はありません。権限があるかどうかだけがわかります。そうでない場合は、設定アプリに入って自分自身で有効にするよう警告します。 – Doc
設定は、設定アプリのプライバシーセクションにあります。権限を選択すると、適切なアプリに対してその権限を有効/無効にすることができます。 – Doc