2016-09-21 5 views
0

Ich entwickle eine App, die auf den Standort und den Kalender des Benutzers zugreifen muss, ein Popup sollte erscheinen, aber aus irgendeinem Grund wird nicht angezeigt und ich werde immer abgelehnt, hier ist der Code für den Kalender Zugang:Pop-ups werden nicht angezeigt

- (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]; 
       }); 

      } 
     }]; 
    } 

}

ich nicht ein Pop-up und AuthorizationStatusForEntityType:EKEntityTypeEvent Wert "verweigert" bin immer!

Wie für den Standort ging ich zu Einstellungen-> Privatsphäre-> Ort, fand es nie für meine Anwendung eingestellt und ich musste es manuell immer ändern. weiß jemand warum oder hat das selbe Problem durchgemacht und kann mir helfen.

Ich habe versucht, den Build-Ordner zu säubern und Standort- und Datenschutzeinstellungen zurückzusetzen, aber wenn ich meine Anwendung neu erstelle, passiert dasselbe. Ich bekomme kein Popup, um Erlaubnis zu fragen, und die Werte werden auf abgelehnt gesetzt!

Antwort

0

Die Zugriffsberechtigung für Systemzugriffe wie Kamera, Fotoalbum, Standort, Kontakte usw. wird nur einmal angezeigt (für jeden Zugriffstyp).

Sobald es präsentiert und dann akzeptiert oder abgelehnt wurde, wird es nie wieder erscheinen.

Da es mit der Berechtigung "verweigert" zurück gekommen ist, bedeutet dies, dass es bereits erschienen ist und Sie auf "nicht zulassen" geklickt haben.

Die einzige Möglichkeit, die Berechtigung in der App danach zu ändern, besteht darin, die App-Einstellungen aufzurufen und sie manuell zu ändern.

Sie können erzwingen, dass das Berechtigungs-Popup erneut angezeigt wird, indem Sie die App von Ihrem Gerät löschen und anschließend erneut installieren.

+0

Ich habe auch versucht, die App vom Gerät zu löschen und es erneut zu installieren, und ich habe das gleiche Problem, ich habe es sogar auf verschiedenen Geräten versucht, aber kein Popup wird angezeigt und der Wert wird immer verweigert. – Lara

Verwandte Themen