2015-02-09 53 views
1

在我的應用程序中,我正在集成Apple HealthKit支持。我想到如何請求不同類型的授權。如何在需要時請求Health Kit的授權?

但是,如果用戶轉到Health應用程序,並將所有類型的授權更改爲NO,那麼我的應用程序無法使用任何數據。再次調用requestAuthorizationToShareTypes不會再爲Health viewController提供選項。

我在stackoverflow上找到了帖子,在那裏建議更改類型,這將欺騙Health應用程序再次打開其授權視圖。它實際上工作。

有沒有更少的棘手和更合理的方法來做到這一點?

任何形式的幫助,高度讚賞!

回答

1

檢查是否允許使用authorizationStatusForType訪問,如果不允許,則會顯示警告,通知用戶需要權限,並提供將其帶到設置頁面以解決該問題。

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; 
if ([[UIApplication sharedApplication] canOpenURL:url]) { 
    [[UIApplication sharedApplication] openURL:url]; 
} 
+0

謝謝大衛,我想到了這一點。這是唯一的選擇嗎?基本上沒有辦法將用戶多次發送到Health應用程序授權屏幕? – 2015-02-09 21:58:49

+2

一般來說,蘋果用戶權限的理念是用戶真的不應該被重複的權限請求騷擾。即使這種方法真的不應該採取,除非沒有缺少權限沒有功能。 – 2015-02-09 22:11:36