2016-09-21 4 views
0

Я разрабатываю приложение, которое должно получить доступ как к местоположению пользователя, так и к календарю, должно появиться всплывающее окно, но по какой-то причине оно не отображается, и я все время отказываюсь, вот код для календаря доступ:Всплывающие окна не отображаются

- (void)askAuthorization 
{ 

    EKAuthorizationStatus authorizationStatus = [EKEventStore authorizationStatusForEntityType:EKEntityTypeEvent]; 
    BOOL needsToRequestAccessToEventStore = (authorizationStatus == EKAuthorizationStatusNotDetermined); 

    if (needsToRequestAccessToEventStore) { 
     [self.store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) { 
      if (granted) { 
       // Access granted 
       NSLog(@"User granted access"); 
       dispatch_async(dispatch_get_main_queue(), ^{ 
        [self.delegate userDidAuthorizeCalendarReadingsWithError:error]; 
       }); 

      } else { 
       // Denied 
       NSLog(@"User did not grant access. To grant access, go to Settings > Privacy > Calendars > VirtualAssitant"); 
       [self.delegate userDidNotAuthorizeCalendarReadingsWithError:error]; 
       dispatch_async(dispatch_get_main_queue(), ^{ 
        [self.delegate userDidAuthorizeCalendarReadingsWithError:error]; 
       }); 

      } 
     }]; 
    } 

}

Я не получаю всплывающее и AuthorizationStatusForEntityType:EKEntityTypeEvent значение "отказано"!

Что касается местоположения, которое я отправил в настройки -> privacy->, нашел, что он никогда не был установлен для моего приложения, и мне пришлось вручную вручную его менять. Кто-нибудь знает, почему или был через ту же проблему, и может мне помочь.

Я пробовал очистить папку сборки и переустановить настройки местоположения и конфиденциальности, но когда я перестраиваю приложение, то одно и то же происходит, я не получаю всплывающее окно с запросом разрешения и значения запрещены!

ответ

0

Разрешение для любого доступа к системе, такого как камера, фотоальбом, местоположение, контакты и т. Д., Будет отображаться только один раз (для каждого типа доступа).

После того, как оно было представлено, а затем принято или отклонено, оно больше не появится.

Потому что он вернулся с разрешения «отрицал» это означает, что он уже появился, и вы нажали «не разрешать».

Единственный способ изменить разрешение в приложении после этого - перейти в настройки приложения и изменить его вручную.

Вы можете заставить всплывающее окно разрешения появляться снова, удалив приложение с вашего устройства и затем снова установив его.

+0

Я также попытался удалить приложение с устройства и установить его снова, и у меня была такая же проблема, я даже пробовал его на разных устройствах, но всплывающее окно не отображается, и значение всегда отрицается. – Lara

Смежные вопросы