繁体   English   中英

iOS8 UIImagePickerController在自定义键盘扩展中

[英]iOS8 UIImagePickerController in custom keyboard extension

我正在尝试在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,如果是这样,我可能做错了什么?

显然,扩展无法访问摄像头或麦克风。

请参阅此处的重复帖子以及Apple doc的链接: iOS自定义键盘 - 相机无法正常工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM