Xcode 8 UIImagePickerController 冻结
Xcode 8 UIImagePickerController frozen
我刚 运行 遇到这个问题。我可以像往常一样调用 UIImagePickerController 但是当我选择图像(拍摄照片或照片库)时,"use photo" 按钮和 "retake" 按钮不起作用,并且 UI 只是冻结。
我进行了一些调试,发现代码无法进入委托方法。
我没有更改任何关于 UIImagePickerController 的代码。之前一切正常。所以我想知道为什么会发生这种情况以及如何修复此错误?
非常感谢!
这是代码:
UIImagePickerController * imgPicker = [[UIImagePickerController alloc] init];
[imgPicker setDelegate:self]
[imgPicker setAllowsEditing:YES];
[imgPicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[self.navigationController presentViewController:imgPicker animated:YES completion:^{
}];
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<NSString *,id> *)editingInfo {
[self dismissViewControllerAnimated:YES completion:^{
}];
}
我认为这个 out.This 是由于使用了错误的委托 method.the 造成的,我使用的委托 DEPRECATED.
我们应该用这个
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info;
并且图片信息在info中dictionary.You可以这样获取图片
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
从 xcode 8 到 ios 10 您必须向 info.plist 添加一些键值才能使用 UIImagepicker Controller
访问照片
关键:隐私 - 照片库使用说明
值:此应用需要访问照片库
我刚 运行 遇到这个问题。我可以像往常一样调用 UIImagePickerController 但是当我选择图像(拍摄照片或照片库)时,"use photo" 按钮和 "retake" 按钮不起作用,并且 UI 只是冻结。
我进行了一些调试,发现代码无法进入委托方法。
我没有更改任何关于 UIImagePickerController 的代码。之前一切正常。所以我想知道为什么会发生这种情况以及如何修复此错误?
非常感谢!
这是代码:
UIImagePickerController * imgPicker = [[UIImagePickerController alloc] init];
[imgPicker setDelegate:self]
[imgPicker setAllowsEditing:YES];
[imgPicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[self.navigationController presentViewController:imgPicker animated:YES completion:^{
}];
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<NSString *,id> *)editingInfo {
[self dismissViewControllerAnimated:YES completion:^{
}];
}
我认为这个 out.This 是由于使用了错误的委托 method.the 造成的,我使用的委托 DEPRECATED.
我们应该用这个
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info;
并且图片信息在info中dictionary.You可以这样获取图片
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
从 xcode 8 到 ios 10 您必须向 info.plist 添加一些键值才能使用 UIImagepicker Controller
访问照片关键:隐私 - 照片库使用说明
值:此应用需要访问照片库