如果應用程序需要訪問Motion Activity
數據,它會在安裝時詢問用戶。但是,如果用戶意外地回答「否」,那麼該應用程序將無法工作。iOS - 在設置>隱私>動作活動中啓用動作活動
我正在尋找一種方法來檢查運動活動是否啓用,以便我可以提示用戶啓用,如果沒有。
有人能指出我的代碼明智嗎?
繼從文件的信息(謝謝),看來蘋果公司不提供直接的方法來檢查隱私的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!非常奇怪,如他們所說,如果這返回他們狀態無法使用。他們似乎沒有提供'檢查',而只是最初的啓用電話。但如果它被禁用,它不會重新請求! – MrNeilM
'[CMMotionActivityManager isActivityAvailable]'返回設備是否支持動作數據的布爾值,而不是用戶是否允許應用程序使用它。也就是說,沒有辦法重新申請許可。您只能看到您是否有權限,如果沒有,請提醒用戶進入「設置」應用並自行啓用。 – Doc
該設置可以在隱私部分下的設置應用程序中找到。選擇權限,然後您可以啓用/禁用相應應用程序的權限。 – Doc