iOS 7 UIImagePickerController Kamera Kein Bild

8

Aus irgendeinem Grund erscheint beim ersten Öffnen des UIImagePickerController im Kameramodus auf meiner App nichts. Ich muss diese Ansicht schließen und erneut öffnen, damit der Kamera-Feed funktioniert. Ich verwende den Standardcode, der in iOS 6 perfekt für die Kameraerfassung funktioniert. Aus dem folgenden Beispiel feuere ich die Methode capturePhoto: . Hat sonst noch jemand mit der iOS-7-Kamera diese Schwäche erlebt? Ich habe die Apple Dev-Foren überprüft, aber es ist fast unmöglich, dort Antworten zu finden.

%Vor%

    
KyleStew 21.09.2013, 08:15
quelle

4 Antworten

16

Ich benutze auch UIImagePickerController und lief auf das gleiche Problem mit einem leeren Bildschirm. Ich möchte ein wenig darüber erweitern, was klaudz bezüglich der iOS 7-Autorisierung für die Kamera erwähnt hat.

Referenz: Ссылка

"Das Aufnehmen von Audio erfordert immer eine ausdrückliche Erlaubnis des Benutzers. Das Aufzeichnen von Video erfordert auch Benutzerrechte für Geräte, die in bestimmten Regionen verkauft werden."

Hier sind einige Codefragmente, mit denen Sie beginnen können, um zu überprüfen, ob Sie die Erlaubnis für die Kamera haben, und sie anzufordern, wenn Ihre App diese nicht zuvor angefordert hat. Wenn Sie aufgrund einer früheren Anfrage abgelehnt werden, muss Ihre App möglicherweise eine Benachrichtigung an den Benutzer senden, um Einstellungen vorzunehmen, um den Zugriff manuell zu aktivieren, wie klaudz darauf hingewiesen hat.

Beispiel für iOS 7

%Vor%     
Scott Carter 29.09.2013, 02:55
quelle
7

In iOS 7 konnte eine App auf die Kamera zugreifen, bevor sie vom Benutzer autorisiert wurde. Wenn eine App zum ersten Mal auf die Kamera zugreift, zeigt iOS eine Warnmeldung an, um den Benutzer zu fragen. Benutzer können die Autorisierung auch in Settings--Privacy--Camera--[Your app's name] festlegen.

Die Kamera bleibt in einer schwarzen leeren Ansicht, wenn der Schalter ausgeschaltet ist.

  1. Wenn Sie die Kamera mit AVCaptureDeviceInput aufrufen, können Sie Folgendes überprüfen:

    %Vor%
  2. Wenn Sie mit UIImagePickerController aufrufen, suche ich immer noch nach einer Möglichkeit zu überprüfen, ob die Autorisierung erhalten wurde.

    Ich habe diese zwei Methoden ausprobiert:

    %Vor%

    aber sie haben nicht funktioniert, dass sie alle JA zurückgegeben haben.

AKTUALISIEREN

Danke, dass Scott expandiert. [AVCaptureDevice authorizationStatusForMediaType:] ist eine bessere Möglichkeit zum Überprüfen.

%Vor%

Aber denken Sie daran, die iOS-Version zu überprüfen, da [AVCaptureDevice authorizationStatusForMediaType:] und AVAuthorizationStatus über iOS 7 verfügbar sind.

%Vor%     
klaudz 23.09.2013 08:58
quelle
4

Ich habe genau das gleiche Problem erlebt und jede Lösung im Internet ohne Erfolg ausprobiert. Aber schließlich fand ich heraus, dass der Hintergrund-Thread verhinderte, dass die Kameravorschau angezeigt wurde. Wenn Sie zufällig Hintergrundthread ausführen, während Sie versuchen, die Kamera wie ich zu öffnen, versuchen Sie, den Hintergrundthread zu blockieren und zu sehen, was passiert. Ich hoffe, du kannst dich darum kümmern.

    
Vinson Li 27.09.2013 23:56
quelle
0

Ich habe diese Kontrolle AQPhotoPicker gefunden. Es ist ziemlich einfach zu benutzen, und hoffentlich wird es dir helfen

    
aqavi_paracha 14.09.2014 11:36
quelle

Tags und Links