Commit 7aad4d43 authored by banchichen's avatar banchichen

修复iOS下拍照保存失败的问题;修复拍照后照片保存时转向的问题;

parent eab0ff97
No preview for this file type
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "TZImagePickerController" s.name = "TZImagePickerController"
s.version = "1.3.4" s.version = "1.3.5"
s.summary = "A clone of UIImagePickerController, support picking multiple photos、original photo and video" s.summary = "A clone of UIImagePickerController, support picking multiple photos、original photo and video"
s.homepage = "https://github.com/banchichen/TZImagePickerController" s.homepage = "https://github.com/banchichen/TZImagePickerController"
s.license = "MIT" s.license = "MIT"
s.author = { "banchichen" => "736420282@qq.com" } s.author = { "banchichen" => "736420282@qq.com" }
s.platform = :ios s.platform = :ios
s.ios.deployment_target = "6.0" s.ios.deployment_target = "6.0"
s.source = { :git => "https://github.com/banchichen/TZImagePickerController.git", :tag => "1.3.4" } s.source = { :git => "https://github.com/banchichen/TZImagePickerController.git", :tag => "1.3.5" }
s.requires_arc = true s.requires_arc = true
s.resources = "TZImagePickerController/TZImagePickerController/*.{png,xib,nib,bundle}" s.resources = "TZImagePickerController/TZImagePickerController/*.{png,xib,nib,bundle}"
s.source_files = "TZImagePickerController/TZImagePickerController/*.{h,m}" s.source_files = "TZImagePickerController/TZImagePickerController/*.{h,m}"
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
[selectedAssets addObject:model.asset]; [selectedAssets addObject:model.asset];
} }
for (TZAssetModel *model in _models) { for (TZAssetModel *model in _models) {
if ([selectedAssets containsObject:model.asset]) { if ([[TZImageManager manager] isAssetsArray:selectedAssets containAsset:model.asset]) {
self.selectedCount ++; self.selectedCount ++;
} }
} }
......
...@@ -49,4 +49,7 @@ ...@@ -49,4 +49,7 @@
/// Get photo bytes 获得一组照片的大小 /// Get photo bytes 获得一组照片的大小
- (void)getPhotosBytesWithArray:(NSArray *)photos completion:(void (^)(NSString *totalBytes))completion; - (void)getPhotosBytesWithArray:(NSArray *)photos completion:(void (^)(NSString *totalBytes))completion;
/// Judge is a assets array contain the asset 判断一个assets数组是否包含这个asset
- (BOOL)isAssetsArray:(NSArray *)assets containAsset:(id)asset;
@end @end
...@@ -394,9 +394,11 @@ ...@@ -394,9 +394,11 @@
- (void)savePhotoWithImage:(UIImage *)image completion:(void (^)())completion { - (void)savePhotoWithImage:(UIImage *)image completion:(void (^)())completion {
NSData *data = UIImageJPEGRepresentation(image, 0.9); NSData *data = UIImageJPEGRepresentation(image, 0.9);
if (iOS8Later) { if (iOS9Later) { // 这里有坑... iOS8系统下这个方法保存图片会失败
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
[[PHAssetCreationRequest creationRequestForAsset] addResourceWithType:PHAssetResourceTypePhoto data:data options:nil]; PHAssetResourceCreationOptions *options = [[PHAssetResourceCreationOptions alloc] init];
options.shouldMoveFile = YES;
[[PHAssetCreationRequest creationRequestForAsset] addResourceWithType:PHAssetResourceTypePhoto data:data options:options];
} completionHandler:^(BOOL success, NSError * _Nullable error) { } completionHandler:^(BOOL success, NSError * _Nullable error) {
dispatch_sync(dispatch_get_main_queue(), ^{ dispatch_sync(dispatch_get_main_queue(), ^{
if (success && completion) { if (success && completion) {
...@@ -407,7 +409,7 @@ ...@@ -407,7 +409,7 @@
}); });
}]; }];
} else { } else {
[self.assetLibrary writeImageToSavedPhotosAlbum:image.CGImage orientation:ALAssetOrientationUp completionBlock:^(NSURL *assetURL, NSError *error) { [self.assetLibrary writeImageToSavedPhotosAlbum:image.CGImage orientation:[self orientationFromImage:image] completionBlock:^(NSURL *assetURL, NSError *error) {
if (error) { if (error) {
NSLog(@"保存图片失败:%@",error.localizedDescription); NSLog(@"保存图片失败:%@",error.localizedDescription);
} else { } else {
...@@ -488,6 +490,19 @@ ...@@ -488,6 +490,19 @@
} }
} }
/// Judge is a assets array contain the asset 判断一个assets数组是否包含这个asset
- (BOOL)isAssetsArray:(NSArray *)assets containAsset:(id)asset {
if (iOS8Later) {
return [assets containsObject:asset];
} else {
NSMutableArray *selectedAssetUrls = [NSMutableArray array];
for (ALAsset *asset_item in assets) {
[selectedAssetUrls addObject:[asset_item valueForProperty:ALAssetPropertyURLs]];
}
return [selectedAssetUrls containsObject:[asset valueForProperty:ALAssetPropertyURLs]];
}
}
#pragma mark - Private Method #pragma mark - Private Method
- (TZAlbumModel *)modelWithResult:(id)result name:(NSString *)name{ - (TZAlbumModel *)modelWithResult:(id)result name:(NSString *)name{
...@@ -534,6 +549,11 @@ ...@@ -534,6 +549,11 @@
} }
} }
- (ALAssetOrientation)orientationFromImage:(UIImage *)image {
NSInteger orientation = image.imageOrientation;
return orientation;
}
- (UIImage *)fixOrientation:(UIImage *)aImage { - (UIImage *)fixOrientation:(UIImage *)aImage {
if (!self.shouldFixOrientation) return aImage; if (!self.shouldFixOrientation) return aImage;
......
...@@ -456,7 +456,7 @@ static CGSize AssetGridThumbnailSize; ...@@ -456,7 +456,7 @@ static CGSize AssetGridThumbnailSize;
for (TZAssetModel *model in tzImagePickerVc.selectedModels) { for (TZAssetModel *model in tzImagePickerVc.selectedModels) {
[selectedAssets addObject:model.asset]; [selectedAssets addObject:model.asset];
} }
if ([selectedAssets containsObject:model.asset]) { if ([[TZImageManager manager] isAssetsArray:selectedAssets containAsset:model.asset]) {
model.isSelected = YES; model.isSelected = YES;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment