Кога да поискате достъп до събития?

Имам контролер за изглед, в който имам достъп до магазина за събития.

Не съм сигурен кога в контролера за преглед трябва да поискам разрешение за достъп?

В момента искам разрешение в viewDidLoad.

Но какво се случва, ако потребителят постави приложението във фонов режим, забрави го за известно време, отмени разрешението за достъп в системните настройки и накрая се върне към моето приложение. viewDidLoad не се нарича тогава...

Като най-добра практика, трябва ли да поискам разрешение и в viewWillAppear?


person mrd    schedule 24.05.2014    source източник
comment
viewWillAppear не се извиква, когато се върнете от заден план. Освен това, ако потребителят отмени достъпа до вашето приложение, повторното искане на разрешение няма да покаже потребителския интерфейс (ще бъде отхвърлено без запитване към потребителя). Така че не съм сигурен какво питате.   -  person Jesse Rusak    schedule 24.05.2014


Отговори (1)


Бих предложил трета алтернатива: Вместо viewDidLoad или viewDidAppear, бих попитал само когато приложението действително изисква достъп до магазина за събития, а не преди това. Ако го направите, когато изгледът се появи за първи път, реакцията на потребителя може да бъде „о, не мога да си представя защо това приложение се нуждае от достъп, така че ще го откажа“. Но ако инициират някакво действие от тяхна страна, което очевидно изисква достъп до магазина за събития, това е чудесен момент да поискате разрешение, защото реакцията ще бъде „о, разбира се, че искам“.

person Rob    schedule 24.05.2014
comment
Добро предложение! Благодаря. - person mrd; 24.05.2014