2014-07-09 11 views
14

Moja aplikacja korzysta z aparatu. W iOS8 zawierają one nowe ustawienie prywatności, Camera, w którym użytkownik może zarządzać wykorzystaniem praw kamery dla każdej aplikacji.Jak sprawdzić, czy aplikacja ma dostęp do aparatu lub programowo nie jest w iOS8

Problem:
Jeśli użytkownik nie pozwalała moja aplikacja używać aparatu następnie Skąd mogę wiedzieć, że Moja aplikacja nie ma dostępu do aparatu.
jak mogę użyć ALAssetsLibrary authorizationStatus, aby odkryć status biblioteki zdjęć lub ABAddressBookGetAuthorizationStatus, aby poznać status dostępu do książki telefonicznej pod numerem ..

Pytanie:
Skąd mogę wiedzieć, czy moja aplikacja ma dostęp do kamery lub nie systemów iOS 8, abym poprosi użytkownika, aby umożliwić dostęp do kamery dla mojej aplikacji?


mam poniżej ekranu druku Photo Booth, który mającego ten sam problem jak moja aplikacja ma.

enter image description here

enter image description here

enter image description here


Gdy nie ma dostępu kamera pokaże tylko czarny ekran żaden komunikat nic.

Odpowiedz

24

Sprawdź AVAuthorizationStatus dostępność kamery, a następnie obsługiwać przypadki odpowiednio

AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo]; 
if(status == AVAuthorizationStatusAuthorized) { 
    // authorized 
} else if(status == AVAuthorizationStatusDenied){ 
    // denied 
} else if(status == AVAuthorizationStatusRestricted){ 
    // restricted 
} else if(status == AVAuthorizationStatusNotDetermined){ 
    // not determined 
    [AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) { 
    if(granted){ 
    NSLog(@"Granted access"); 
} else { 
    NSLog(@"Not granted access"); 
} 
    }]; 
} 
+0

Czy ta praca za pomocą aparatu do robienia zdjęć lub po prostu zbyt filmy? Czy na stronie programisty napisano coś o tej metodzie, podnosząc wyjątek, jeśli spróbujesz zrobić coś innego niż nagrać audio/wideo? – Supertecnoboff

+0

gdzie dodałeś ten kod? – pableiros

Powiązane problemy