2012-06-11 11 views
9

Ich habe endlich einen Bug genagelt, der eine UIImagePickerController beim Aufnehmen von Video abstürzt. Wenn die VoiceOver-Eingabehilfe des iPhones aktiviert ist, stürzt der Rekorder beim Aufruf von presentModalViewController ohne Fehler ab.iPhone VoiceOver Zugänglichkeit Einstellung stürzt Videoaufnahme

Ich war bisher nicht erfolgreich mit einem Workaround. Hat jemand anderes dies erfahren und konnte es beheben?

+0

Welche OS-Version? In welchen Betriebssystemversionen ist es nicht vorhanden? Haben Sie überlegt, einen Fehlerbericht einzureichen? –

+0

Ich begegne dem gleichen, aber nur, wenn showCameraControls auf NO gesetzt ist. – kamens

+1

Sie erhalten zwei technische Support-Vorfälle mit Ihrem iOS-Entwicklerkonto. Das klingt nach einer Zeit dafür. Wenn es einen Workaround gibt, werden die Jungs von Apple es wissen. – Swizzlr

Antwort

3

Wie in den oben erwähnten Kommentare @kamens, eine Abhilfe camera.showsCameraControls = NO in einem Beendigungsblock enthalten ist, wenn der Controller modal Ansicht präsentiert, wie folgt aus:

[controller presentViewController:self animated:YES completion:^{self.showsCameraControls = NO;}]; 

jedoch mit dieser Lösung steuert die Kamerablitz Momentan, wenn die Kamera präsentiert wird, verschwinden sie. Offensichtlich nicht ideal, wenn die Kontrollen wirklich versteckt werden müssen. Die andere Problemumgehung besteht darin, camera.showsCameraControls = OFF ... noch weniger ideal einzustellen.


@quellish, dann ist dies die Ausgabe von dem Absturz:

*** -[PLCameraToggleButton setAccessibilityValue:]: message sent to deallocated instance 0x4a330b0 

@kamens, hier ist der Code, den ich mit dem mediaTypes und captureMode einzustellen:

tmpCamera.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie]; 
tmpCamera.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo; 
+0

Hervorragend! Nachdem ich 1 kompletten Tag verbracht habe, habe ich deine Antwort gefunden. Vielen Dank, es hat für mich funktioniert! –

1

Wie @james erwähnt, geschieht dies in iOS 5.1, wenn:

  • Mit picker.showsCameraControls = NO
  • animated:NO in Ihrem Anruf [viewController presentViewController:picker animated:YES completion:nil];
  • Die Voiceover-Option verwenden aktiviert.

... und deutlich, wenn nur Filme wie die Medientypen akzeptiert durch Picker Angabe:

  • picker.mediaTypes = [NSArray arrayWithObject: (NSString *) kUTTypeMovie];

Allerdings konnte ich dieses Problem beheben, indem Sie die oben mediaTypes Zeile ändern zu:

picker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType]; 

... was in Ordnung gegeben funktioniert, dass die Standardkamerasteuerung versteckt sind und ich kann programmatisch Legen Sie fest, ob Sie mit der Aufnahme eines Videos beginnen oder ein Bild aufnehmen möchten.

Ich behaupte nicht, die Ursache dieses Absturzes zu verstehen.