Mam problemy z używaniem aparatu. Problem polega na tym, że niektóre urządzenia pokazują mi pozycję kamery w ustawieniach, a inne nie. Na urządzeniach, na których przełącznik aparatu się nie pojawia, nie mogę korzystać z aparatu, ponieważ nie ma on uprawnień, a także nie jest wyświetlany w ustawieniach, aby je włączyć.Uprawnienia do aparatu iOS nie pojawiają się w ustawieniach niektórych urządzeń.
Jak to wygląda na urządzenie, które działa:
I tak to wygląda w urządzeniach, które nie działa.
Kiedy wziąłem te screeny, aplikacja powinna już poprosił o uprawnieniach już, ale tak się nie stało.
Sprawdziłem również, że te urządzenia nie mają włączonych ograniczeń.
Wszelkie pomysły?
UPDATE 1: Dodano kod
Jest to kod używam pokazać aparat (to pod widoku niestandardowym, nie natywny sterownik kamera)
self.captureSession = [[AVCaptureSession alloc] init];
AVCaptureDevice *videoCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
NSError *error = nil;
AVCaptureDeviceInput *videoInput = [AVCaptureDeviceInput deviceInputWithDevice:videoCaptureDevice error:&error];
if(videoInput)
{
[self.captureSession addInput:videoInput];
}
else
{
NSLog(@"Error: %@", error);
}
AVCaptureMetadataOutput *metadataOutput = [[AVCaptureMetadataOutput alloc] init];
[self.captureSession addOutput:metadataOutput];
[metadataOutput setMetadataObjectsDelegate:self
queue:dispatch_get_main_queue()];
[metadataOutput setMetadataObjectTypes:@[AVMetadataObjectTypeCode39Code, AVMetadataObjectTypeQRCode]];
AVCaptureVideoPreviewLayer *previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.captureSession];
previewLayer.frame = self.view.layer.bounds;
UIView * previewView = [[UIView alloc] initWithFrame:self.view.frame];
[previewView.layer addSublayer:previewLayer];
[self.view addSubview:previewView];
[self.view sendSubviewToBack:previewView];
[self.captureSession startRunning];
Aparat pojawi się tam tylko wtedy, gdy aplikacja prosi o pozwolenie. Czy możesz pokazać kod, którego używasz, aby poprosić o pozwolenie? –
Dodano. Czy ten kod nie pyta automatycznie o uprawnienia po uruchomieniu sesji przechwytywania? W aplikacji jest inne miejsce, w którym używam UIImagePickerController do robienia zdjęć. Być może nie mam uprawnień obsługi poprawnie, ale jeśli wcześniej otworzyłem UIImagePickerController, to uprawnienia są włączone? – lucaslt89
Mam ten sam problem i bardzo rozpaczliwie potrzebuję rozwiązania. Daj mi znać, jeśli znalazłeś sposób na rozwiązanie tego ...! – durazno