UIImagePickerController
我终于确定了一个在录制视频时崩溃的错误。启用 iPhone 的 VoiceOver 辅助功能设置后,录音机在通话时不会失败presentModalViewController
。
到目前为止,我一直没有成功地想出一个解决方法。有没有其他人经历过这个并能够解决它?
UIImagePickerController
我终于确定了一个在录制视频时崩溃的错误。启用 iPhone 的 VoiceOver 辅助功能设置后,录音机在通话时不会失败presentModalViewController
。
到目前为止,我一直没有成功地想出一个解决方法。有没有其他人经历过这个并能够解决它?
正如上面评论中提到的@kamens,一种解决方法是camera.showsCameraControls = NO
在呈现模态视图控制器时包含在完成块中,如下所示:
[controller presentViewController:self animated:YES completion:^{self.showsCameraControls = NO;}];
但是,使用此解决方案时,相机控件会在相机出现时瞬间闪烁,然后消失。当控件确实需要隐藏时显然不理想。另一种解决方法是设置camera.showsCameraControls = OFF
......甚至不太理想。
@quellish,这是崩溃的输出:
*** -[PLCameraToggleButton setAccessibilityValue:]: message sent to deallocated instance 0x4a330b0
@kamens,这是我用来设置mediaTypes
and的代码captureMode
:
tmpCamera.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
tmpCamera.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
正如@james 提到的,这发生在 iOS 5.1 中:
picker.showsCameraControls = NO
animated:NO
在您的呼叫中使用[viewController presentViewController:picker animated:YES completion:nil];
...而且,重要的是,当仅将电影指定为选择器接受的媒体类型时:
但是,我可以通过将上面的 mediaTypes 行更改为:
picker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType];
...考虑到默认的相机控件是隐藏的,并且我可以以编程方式控制是开始录制视频还是拍照,这很好用。
我不声称了解这次崩溃的原因。