@@ -420,6 +420,9 @@ - (void)getPhotosBytesWithArray:(NSArray *)photos completion:(void (^)(NSString
420420 PHImageRequestOptions *options = [[PHImageRequestOptions alloc ] init ];
421421 options.resizeMode = PHImageRequestOptionsResizeModeFast;
422422 options.networkAccessAllowed = YES ;
423+ if ([[model.asset valueForKey: @" filename" ] hasSuffix: @" GIF" ]) {
424+ options.version = PHImageRequestOptionsVersionOriginal;
425+ }
423426 [[PHImageManager defaultManager ] requestImageDataForAsset: model.asset options: options resultHandler: ^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
424427 if (model.type != TZAssetModelMediaTypeVideo) dataLength += imageData.length ;
425428 assetCount ++;
@@ -645,13 +648,18 @@ - (void)getOriginalPhotoWithAsset:(id)asset newCompletion:(void (^)(UIImage *pho
645648}
646649
647650- (void )getOriginalPhotoDataWithAsset : (id )asset completion : (void (^)(NSData *data,NSDictionary *info,BOOL isDegraded))completion {
651+ [self getOriginalPhotoDataWithAsset: asset progressHandler: nil completion: completion];
652+ }
653+
654+ - (void )getOriginalPhotoDataWithAsset : (id )asset progressHandler : (void (^)(double progress, NSError *error, BOOL *stop, NSDictionary *info))progressHandler completion : (void (^)(NSData *data,NSDictionary *info,BOOL isDegraded))completion {
648655 if ([asset isKindOfClass: [PHAsset class ]]) {
649656 PHImageRequestOptions *option = [[PHImageRequestOptions alloc ] init ];
650657 option.networkAccessAllowed = YES ;
651658 if ([[asset valueForKey: @" filename" ] hasSuffix: @" GIF" ]) {
652659 // if version isn't PHImageRequestOptionsVersionOriginal, the gif may cann't play
653660 option.version = PHImageRequestOptionsVersionOriginal;
654661 }
662+ [option setProgressHandler: progressHandler];
655663 option.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
656664 [[PHImageManager defaultManager ] requestImageDataForAsset: asset options: option resultHandler: ^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
657665 BOOL downloadFinined = (![[info objectForKey: PHImageCancelledKey] boolValue ] && ![info objectForKey: PHImageErrorKey]);
0 commit comments