我尝试在iOS8自定义键盘扩展程序中尝试使用嵌入式摄像头,该扩展程序已启用完全访问权限。除了叠加控件之外,嵌入式UIImagePickerController的视图始终是黑色的,所以一切都按照我的预期工作。这个应用程序想要访问你的相机"弹出显示和访问肯定被授予(三重检查)。
在XCode中,[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]
返回true,并且除了相机本身之外的UIImagePickerController接口正确显示(例如,相机覆盖控件)。
我从XCode获得的唯一错误/警告如下:
快照未呈现的视图会导致空快照。确保在屏幕更新后快照或快照之前,您的视图至少呈现过一次。
我已经尝试在相机的初始化时添加超时,正如其他几个stackoverflow线程所建议的那样,但我没有修复那个警告或黑色相机屏幕问题。
- (void)viewDidAppear:(BOOL)animated
{
[self performSelector:@selector(loadCamera) withObject:nil afterDelay:0.3];
}
- (void)loadCamera
{
self._picker = [[UIImagePickerController alloc] init];
self._picker.sourceType = UIImagePickerControllerSourceTypeCamera;
self._picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
self._picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
self._picker.allowsEditing = NO;
self._picker.showsCameraControls = YES;
self._picker.view.userInteractionEnabled = YES;
self._picker.delegate = self;
self._picker.view.frame = self.view.bounds;
[self.view addSubview:self._picker.view];
[self._picker didMoveToParentViewController:self];
}
我也尝试用以下结果替换最后3行,结果相同:
[self presentViewController:self._picker animated:YES completion:^{
NSLog(@"completed");
}];
有没有人知道是否可以在iOS8自定义键盘扩展中嵌入UIImagePickerController,如果是这样,我可能做错了什么?
答案 0 :(得分:2)
显然,扩展无法访问摄像头或麦克风。
请在此处查看重复的主题,其中包含指向Apple文档的链接:iOS Custom Keyboard - camera not working。