Ios 当sourceType为照片库时未调用UIImagePickerController委托

Ios 当sourceType为照片库时未调用UIImagePickerController委托,ios,objective-c,delegates,uiimagepickercontroller,photolibrary,Ios,Objective C,Delegates,Uiimagepickercontroller,Photolibrary,我有一个问题,当呈现sourceType=UIImagePickerController源类型PhotoLibrary时,UIImagePickerController的委托没有被调用 奇怪的是,它在照相机模式下工作得非常好 接口声明: @interface ChatVC : UIViewController <UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate>

我有一个问题,当呈现sourceType=UIImagePickerController源类型PhotoLibrary时,UIImagePickerController的委托没有被调用

奇怪的是,它在照相机模式下工作得非常好

接口声明:

@interface ChatVC : UIViewController <UIActionSheetDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate>
下面是同一视图控制器中的委托方法实现:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary<NSString *,id> *)editingInfo {
    NSLog(@"Image Picker Controller Picked Image - Deprecated");
    [picker dismissViewControllerAnimated:YES completion:nil];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    NSLog(@"Image Picker Controller Picked Image");    
    [picker dismissViewControllerAnimated:YES completion:nil];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    NSLog(@"Image Picker Controller Cancelled");
    [picker dismissViewControllerAnimated:YES completion:nil];
}
-(无效)图像选择器控制器:(UIImagePickerController*)选择器未完成图像:(UIImage*)图像编辑信息:(NSDictionary*)编辑信息{
NSLog(@“图像选择器控制器拾取的图像-已弃用”);
[picker DismissionViewControllerInitiated:是完成:无];
}
-(void)imagePickerController:(UIImagePickerController*)picker未使用信息完成PickingMediaWithInfo:(NSDictionary*)信息{
NSLog(@“图像选择器控制器拾取的图像”);
[picker DismissionViewControllerInitiated:是完成:无];
}
-(无效)ImagePickerController IDCancel:(UIImagePickerController*)选择器{
NSLog(@“图像选择器控制器已取消”);
[picker DismissionViewControllerInitiated:是完成:无];
}
在摄影机模式下打开时,一切正常,我可以看到调用了相应的委托方法

但当以照片库模式打开并选择照片时,不会发生任何事情,也不会调用委托方法。然而,当我点击Cancel按钮时,我可以看到-ImagePickerControllerdCancel:delegate方法被调用

我甚至怀疑内存警告会以某种方式使委托无效,但这里的情况并非如此

请有人帮我解决这个问题


提前谢谢

您使用什么版本的Xcode、iOS和什么设备测试此功能?@rmaddy感谢您的回复。我已经用iOS 8和iOS 9在模拟器和设备上进行了测试。Xcode 7.1版。使用您附带的代码,它工作得非常好。调用了
imagePickerController:didFinishPickingMediaWithInfo:
。在iO8.4/9.1模拟器上测试。@trick14是的,我知道。它应该工作得很好。但问题是,它没有像预期的那样工作,并且想知道应用程序的其他部分可能出现什么问题?有什么想法吗?你能分享一下这个项目吗?我确信您附加的源代码没有问题。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary<NSString *,id> *)editingInfo {
    NSLog(@"Image Picker Controller Picked Image - Deprecated");
    [picker dismissViewControllerAnimated:YES completion:nil];
}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    NSLog(@"Image Picker Controller Picked Image");    
    [picker dismissViewControllerAnimated:YES completion:nil];
}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    NSLog(@"Image Picker Controller Cancelled");
    [picker dismissViewControllerAnimated:YES completion:nil];
}