Ich habe einige Probleme, die versuchen, die Kamera zu verwenden. Das Problem ist, dass einige Geräte den Kameraeintrag unter Einstellungen anzeigen, andere nicht. Bei den Geräten, bei denen der Kamera-Schalter nicht angezeigt wird, kann ich die Kamera nicht verwenden, da sie keine Berechtigungen besitzt und auch nicht unter den Einstellungen angezeigt wird, um sie zu aktivieren.iOS Kamera Berechtigungen erscheint nicht unter Einstellungen in einigen Geräten
Dies ist, wie es auf einem Gerät sucht, das funktioniert:
Und das ist, wie es in Geräten sucht, die nicht funktionieren.
Als ich diese Screenshots nahm, habe die Klage bereits für Berechtigungen gefragt, aber es kam nicht.
Ich habe auch überprüft, dass für diese Geräte keine Einschränkungen aktiviert sind.
Irgendwelche Ideen?
UPDATE 1: Code hinzugefügt
Dies ist der Code, den ich die Kamera zu zeigen, bin mit (es unter einer benutzerdefinierten Ansicht ist, nicht der native Kamera-View-Controller)
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];
Die Kamera wird nur dort angezeigt, sobald Ihre App eine Berechtigung anfordert. Können Sie den Code anzeigen, den Sie verwenden, um eine Berechtigung anzufordern? –
Hinzugefügt. Stellt der Code beim Starten der Capture-Sitzung nicht automatisch nach Berechtigungen? Es gibt einen anderen Ort in der App, wo ich einen UIImagePickerController verwende, um Fotos zu machen. Vielleicht bearbeite ich Berechtigungen nicht korrekt, aber wenn ich zuvor den UIImagePickerController geöffnet habe, sind Berechtigungen aktiviert? – lucaslt89
Ich habe das gleiche Problem und sehr verzweifelt nach einer Lösung. Bitte lassen Sie mich wissen, wenn Sie einen Weg gefunden haben, dies zu lösen ...! – durazno