Closed xbindai closed 2 years ago
提bug前必看 请先回答下列三个问题,否则不允处理,谢谢配合。 1、我最新的Demo是否有这个bug?【如果Demo没问题,请升级新版】 答:Demo没有,因为demo中添加了PhotosUI.framework
2、你用的是什么版本?升级到最新版后是否正常? 答:v3.8.0。没有添加PhotosUI.framework库,功能不正常
3、是否有改动过我库内部的代码?【如有,请说明改动点】 答:没有改动
bug内容描述 描述:直接pod install安装到工程中,第一次运行后,触发TZImagePickerController,会有个相册权限请求,相册权限选择“选中的图片”,选中一些图片,完成。然后把进程删掉。 再次启动app,触发TZImagePickerController,会展示相册权限sheet,选择“保留当前所选内容“,TZImagePickerController中,点击内部的“添加更多可访问照片”,直接crash。
后面查明原因是工程依赖库中没有添加PhotosUI.framework ps:这个是不是要在安装说明中说一下呀~
后面查明原因是工程依赖库中没有添加PhotosUI.framework
ps:这个是不是要在安装说明中说一下呀~
我如何复现这个bug? 运行一个在工程中没有添加PhotosUI库的工程 1、第一次运行启动工程,触发TZImagePickerController的相册图片选择,会弹出相册权限请求,选“选中的图片”,选中几张图片,然后点完成。杀掉当前进程。 2、再次启动工程,触发TZImagePickerController,会弹出sheet,选“保留当前所选内容”,进入TZImagePickerController内部,点击item “添加更多可访问照片”
或者: 1、到设置中,关闭app的相机权限;相册权限,选“选中的图片”,选中几张图,然后点击完成。 2、启动工程,触发TZImagePickerController的相册选择,会弹出sheet,选“保留当前所选内容”,进入TZImagePickerController内部,点击item “添加更多可访问照片”
就crash了。打印的信息如下:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PHPhotoLibrary presentLimitedLibraryPickerFromViewController:]: unrecognized selector sent to instance 0x7fed3c2d7490' terminating with uncaught exception of type NSException CoreSimulator 802.6 - Device: iPhone 13 (0159600C-BA7A-4429-A0E0-463527CBA8A5) - Runtime: iOS 15.4 (19E240) - DeviceType: iPhone 13
截图
其它说明 有没有其它要补充的?比如你的初始化TZImagePickerController的代码 初始化代码: TZImagePickerController picker = [[TZImagePickerController alloc] initWithMaxImagesCount:1 delegate:self]; picker.allowTakePicture = NO; // 内部显示拍照按钮 picker.allowTakeVideo = NO; // 内部显示拍视频按钮 picker.allowPickingVideo = NO; // 是否可以选择视频 picker.allowPickingGif = NO; // 是否可以选择GIF图 picker.showSelectBtn = NO; picker.allowCrop = YES;//允许裁剪 picker.cropViewSettingBlock = ^(UIView cropView) { cropView.layer.borderWidth = 1; cropView.layer.borderColor = [UIColor colorWithWhite:0.5 alpha:1].CGColor; }; picker.cropRect = CGRectMake(0, (kScreenHeight-kScreenWidth)/2, kScreenWidth, kScreenWidth);//裁剪框尺寸 picker.modalPresentationStyle = UIModalPresentationFullScreen;//全屏 [picker setDidFinishPickingPhotosHandle:^(NSArray<UIImage > photos, NSArray *assets, BOOL isSelectOriginalPhoto) { //TODO... }]; [self presentViewController:picker animated:YES completion:nil];
了解了,来个PR不,一起完善下readme~
可以升级到3.8.1哈,已解决,已把PhotosUI依赖写到podspec里:https://github.com/banchichen/TZImagePickerController/commit/36cce2b71195295df09d1366513933d954f303cc
提bug前必看 请先回答下列三个问题,否则不允处理,谢谢配合。 1、我最新的Demo是否有这个bug?【如果Demo没问题,请升级新版】 答:Demo没有,因为demo中添加了PhotosUI.framework
2、你用的是什么版本?升级到最新版后是否正常? 答:v3.8.0。没有添加PhotosUI.framework库,功能不正常
3、是否有改动过我库内部的代码?【如有,请说明改动点】 答:没有改动
bug内容描述 描述:直接pod install安装到工程中,第一次运行后,触发TZImagePickerController,会有个相册权限请求,相册权限选择“选中的图片”,选中一些图片,完成。然后把进程删掉。 再次启动app,触发TZImagePickerController,会展示相册权限sheet,选择“保留当前所选内容“,TZImagePickerController中,点击内部的“添加更多可访问照片”,直接crash。
我如何复现这个bug? 运行一个在工程中没有添加PhotosUI库的工程 1、第一次运行启动工程,触发TZImagePickerController的相册图片选择,会弹出相册权限请求,选“选中的图片”,选中几张图片,然后点完成。杀掉当前进程。 2、再次启动工程,触发TZImagePickerController,会弹出sheet,选“保留当前所选内容”,进入TZImagePickerController内部,点击item “添加更多可访问照片”
或者: 1、到设置中,关闭app的相机权限;相册权限,选“选中的图片”,选中几张图,然后点击完成。 2、启动工程,触发TZImagePickerController的相册选择,会弹出sheet,选“保留当前所选内容”,进入TZImagePickerController内部,点击item “添加更多可访问照片”
就crash了。打印的信息如下:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PHPhotoLibrary presentLimitedLibraryPickerFromViewController:]: unrecognized selector sent to instance 0x7fed3c2d7490' terminating with uncaught exception of type NSException CoreSimulator 802.6 - Device: iPhone 13 (0159600C-BA7A-4429-A0E0-463527CBA8A5) - Runtime: iOS 15.4 (19E240) - DeviceType: iPhone 13
截图
其它说明 有没有其它要补充的?比如你的初始化TZImagePickerController的代码 初始化代码: TZImagePickerController picker = [[TZImagePickerController alloc] initWithMaxImagesCount:1 delegate:self]; picker.allowTakePicture = NO; // 内部显示拍照按钮 picker.allowTakeVideo = NO; // 内部显示拍视频按钮 picker.allowPickingVideo = NO; // 是否可以选择视频 picker.allowPickingGif = NO; // 是否可以选择GIF图 picker.showSelectBtn = NO; picker.allowCrop = YES;//允许裁剪 picker.cropViewSettingBlock = ^(UIView cropView) { cropView.layer.borderWidth = 1; cropView.layer.borderColor = [UIColor colorWithWhite:0.5 alpha:1].CGColor; }; picker.cropRect = CGRectMake(0, (kScreenHeight-kScreenWidth)/2, kScreenWidth, kScreenWidth);//裁剪框尺寸 picker.modalPresentationStyle = UIModalPresentationFullScreen;//全屏 [picker setDidFinishPickingPhotosHandle:^(NSArray<UIImage > photos, NSArray *assets, BOOL isSelectOriginalPhoto) { //TODO... }]; [self presentViewController:picker animated:YES completion:nil];