From 1291040e41fb75d0f9e2a1d117f3b38020c09e98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gruber=20Kristo=CC=81f?= Date: Fri, 13 Oct 2017 17:08:58 +0200 Subject: [PATCH 1/8] Fix for images not yet downloaded from the iCloud Photo Library --- Source/Models/DBAttachment.m | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Source/Models/DBAttachment.m b/Source/Models/DBAttachment.m index dac69fd..2569603 100644 --- a/Source/Models/DBAttachment.m +++ b/Source/Models/DBAttachment.m @@ -184,12 +184,18 @@ - (void)loadOriginalImageWithCompletion:(void(^)(UIImage *resultImage))completio switch (self.sourceType) { case DBAttachmentSourceTypePHAsset: if (completion) { + PHImageRequestOptions *options = [PHImageRequestOptions new]; + options.deliveryMode = PHVideoRequestOptionsDeliveryModeHighQualityFormat; + options.networkAccessAllowed = YES; + [[PHImageManager defaultManager] requestImageForAsset:self.photoAsset targetSize:PHImageManagerMaximumSize contentMode:PHImageContentModeDefault - options:nil + options:options resultHandler:^(UIImage *result, NSDictionary *info) { - completion(result); + if ([info[PHImageResultIsDegradedKey] isEqual:@(NO)]) { + completion(result); + } }]; } break; From 22fe66bebdfdc30303e07213bc8a345674b7dc36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gruber=20Kristo=CC=81f?= Date: Fri, 13 Oct 2017 17:25:17 +0200 Subject: [PATCH 2/8] Added missing Info.plist keys, which are required to run the demo properly above iOS 10 --- Example/DBAttachmentPickerControllerExample/Info.plist | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Example/DBAttachmentPickerControllerExample/Info.plist b/Example/DBAttachmentPickerControllerExample/Info.plist index 7434562..5fc037f 100644 --- a/Example/DBAttachmentPickerControllerExample/Info.plist +++ b/Example/DBAttachmentPickerControllerExample/Info.plist @@ -2,6 +2,10 @@ + NSCameraUsageDescription + This demo app uses your camera to take photos or videos + NSPhotoLibraryUsageDescription + This demo app uses your Photo Library CFBundleDevelopmentRegion en CFBundleExecutable From f6edfebbc2a00843d8f3a04fe606e251bc7146a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gruber=20Kristo=CC=81f?= Date: Fri, 13 Oct 2017 17:38:16 +0200 Subject: [PATCH 3/8] Optimizations for large iPhoto libraries --- .../DBAssetPickerController/DBAssetPickerController.m | 10 ++++++---- .../DBAttachmentAlertController.m | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Source/DBAssetPickerController/DBAssetPickerController.m b/Source/DBAssetPickerController/DBAssetPickerController.m index b3ae20d..42ca506 100644 --- a/Source/DBAssetPickerController/DBAssetPickerController.m +++ b/Source/DBAssetPickerController/DBAssetPickerController.m @@ -34,10 +34,12 @@ @implementation DBAssetPickerController - (void)viewDidLoad { [super viewDidLoad]; - DBAssetGroupsViewController *groupController = [[DBAssetGroupsViewController alloc] initWithNibName:NSStringFromClass([DBAssetGroupsViewController class]) bundle:[NSBundle dbAttachmentPickerBundle]]; - groupController.assetMediaType = self.assetMediaType; - groupController.assetGroupsDelegate = self; - [self setViewControllers:@[groupController]]; + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{ + DBAssetGroupsViewController *groupController = [[DBAssetGroupsViewController alloc] initWithNibName:NSStringFromClass([DBAssetGroupsViewController class]) bundle:[NSBundle dbAttachmentPickerBundle]]; + groupController.assetMediaType = self.assetMediaType; + groupController.assetGroupsDelegate = self; + [self setViewControllers:@[groupController]]; + }); } #pragma mark - DBAssetGroupsViewControllerDelegate diff --git a/Source/DBAttachmentAlertController/DBAttachmentAlertController.m b/Source/DBAttachmentAlertController/DBAttachmentAlertController.m index 30097f7..41726d5 100644 --- a/Source/DBAttachmentAlertController/DBAttachmentAlertController.m +++ b/Source/DBAttachmentAlertController/DBAttachmentAlertController.m @@ -170,6 +170,7 @@ - (PHFetchResult *)assetsFetchResult { if (_assetsFetchResult == nil) { PHFetchOptions *allPhotosOptions = [PHFetchOptions new]; allPhotosOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]; + allPhotosOptions.fetchLimit = 50; if (self.assetMediaType == PHAssetMediaTypeImage || self.assetMediaType == PHAssetMediaTypeVideo) { allPhotosOptions.predicate = [NSPredicate predicateWithFormat:@"mediaType == %ld", self.assetMediaType]; From f7ff19c3a57613fd7707d09501f9bcb89c7a6e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gruber=20Kristo=CC=81f?= Date: Tue, 17 Oct 2017 14:31:55 +0200 Subject: [PATCH 4/8] Added multiimage support --- .../project.pbxproj | 7 +++++-- .../DBAssetGroupsViewController.m | 7 ++++--- .../DBAssetPickerController/DBAssetPickerController.m | 10 ++++------ 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Example/DBAttachmentPickerControllerExample.xcodeproj/project.pbxproj b/Example/DBAttachmentPickerControllerExample.xcodeproj/project.pbxproj index eda8d60..356e8dc 100644 --- a/Example/DBAttachmentPickerControllerExample.xcodeproj/project.pbxproj +++ b/Example/DBAttachmentPickerControllerExample.xcodeproj/project.pbxproj @@ -305,6 +305,7 @@ TargetAttributes = { C3134EAE1C9C30990023B9E6 = { CreatedOnToolsVersion = 7.2.1; + DevelopmentTeam = 9L2H2A796T; SystemCapabilities = { com.apple.iCloud = { enabled = 1; @@ -530,10 +531,11 @@ CODE_SIGN_ENTITLEMENTS = DBAttachmentPickerControllerExample/DBAttachmentPickerControllerExample.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEVELOPMENT_TEAM = 9L2H2A796T; INFOPLIST_FILE = DBAttachmentPickerControllerExample/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = DB.DBAttachmentPickerControllerExample; + PRODUCT_BUNDLE_IDENTIFIER = hu.lka.gk.dbattachmentpicker; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; }; @@ -546,10 +548,11 @@ CODE_SIGN_ENTITLEMENTS = DBAttachmentPickerControllerExample/DBAttachmentPickerControllerExample.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEVELOPMENT_TEAM = 9L2H2A796T; INFOPLIST_FILE = DBAttachmentPickerControllerExample/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = DB.DBAttachmentPickerControllerExample; + PRODUCT_BUNDLE_IDENTIFIER = hu.lka.gk.dbattachmentpicker; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; }; diff --git a/Source/DBAssetPickerController/DBAssetGroupsViewController.m b/Source/DBAssetPickerController/DBAssetGroupsViewController.m index b28ddb2..2bf47cc 100644 --- a/Source/DBAssetPickerController/DBAssetGroupsViewController.m +++ b/Source/DBAssetPickerController/DBAssetGroupsViewController.m @@ -49,7 +49,8 @@ - (void)viewDidLoad { PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAny options:nil]; PHFetchResult *userAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil]; self.fetchResults = @[smartAlbums, userAlbums]; - +// self.fetchResults = @[userAlbums]; + [self updateAssetCollections]; } @@ -104,13 +105,13 @@ - (void)updateAssetCollections { for (NSNumber *assetCollectionSubtype in assetCollectionSubtypes) { NSArray *collections = smartAlbums[assetCollectionSubtype]; for (PHAssetCollection *assetCollection in collections) { - + PHFetchOptions *options = [PHFetchOptions new]; if (self.assetMediaType == PHAssetMediaTypeVideo || self.assetMediaType == PHAssetMediaTypeImage) { options.predicate = [NSPredicate predicateWithFormat:@"mediaType == %ld", self.assetMediaType]; } PHFetchResult *fetchResult = [PHAsset fetchAssetsInAssetCollection:assetCollection options:options]; - + if (fetchResult.count) { [assetCollections addObject:assetCollection]; } diff --git a/Source/DBAssetPickerController/DBAssetPickerController.m b/Source/DBAssetPickerController/DBAssetPickerController.m index 42ca506..b3ae20d 100644 --- a/Source/DBAssetPickerController/DBAssetPickerController.m +++ b/Source/DBAssetPickerController/DBAssetPickerController.m @@ -34,12 +34,10 @@ @implementation DBAssetPickerController - (void)viewDidLoad { [super viewDidLoad]; - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{ - DBAssetGroupsViewController *groupController = [[DBAssetGroupsViewController alloc] initWithNibName:NSStringFromClass([DBAssetGroupsViewController class]) bundle:[NSBundle dbAttachmentPickerBundle]]; - groupController.assetMediaType = self.assetMediaType; - groupController.assetGroupsDelegate = self; - [self setViewControllers:@[groupController]]; - }); + DBAssetGroupsViewController *groupController = [[DBAssetGroupsViewController alloc] initWithNibName:NSStringFromClass([DBAssetGroupsViewController class]) bundle:[NSBundle dbAttachmentPickerBundle]]; + groupController.assetMediaType = self.assetMediaType; + groupController.assetGroupsDelegate = self; + [self setViewControllers:@[groupController]]; } #pragma mark - DBAssetGroupsViewControllerDelegate From 5cb531e314a928c1cd944a3b169f9210ce50b903 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gruber=20Kristo=CC=81f?= Date: Wed, 18 Oct 2017 12:01:46 +0200 Subject: [PATCH 5/8] Changelog --- .../UserInterfaceState.xcuserstate | Bin 0 -> 34747 bytes .../xcschemes/xcschememanagement.plist | 14 ++++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 Example/DBAttachmentPickerControllerExample.xcodeproj/project.xcworkspace/xcuserdata/gk.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Example/DBAttachmentPickerControllerExample.xcodeproj/xcuserdata/gk.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/Example/DBAttachmentPickerControllerExample.xcodeproj/project.xcworkspace/xcuserdata/gk.xcuserdatad/UserInterfaceState.xcuserstate b/Example/DBAttachmentPickerControllerExample.xcodeproj/project.xcworkspace/xcuserdata/gk.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..6cb42bfb3f08117d1ce79bea8985fd3451349fc4 GIT binary patch literal 34747 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 literal 0 HcmV?d00001 diff --git a/Example/DBAttachmentPickerControllerExample.xcodeproj/xcuserdata/gk.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/DBAttachmentPickerControllerExample.xcodeproj/xcuserdata/gk.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..3fcd77f --- /dev/null +++ b/Example/DBAttachmentPickerControllerExample.xcodeproj/xcuserdata/gk.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + DBAttachmentPickerControllerExample.xcscheme + + orderHint + 0 + + + + From d535dc0fefa930bb9598f0b20fbd7036ad1f9868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gruber=20Kristo=CC=81f?= Date: Wed, 6 Feb 2019 12:10:50 +0100 Subject: [PATCH 6/8] Added `saveToPhotoLibrary` property --- .../UserInterfaceState.xcuserstate | Bin 34747 -> 37608 bytes .../xcschemes/xcschememanagement.plist | 5 +++++ Source/DBAttachmentPickerController.h | 5 +++++ Source/DBAttachmentPickerController.m | 9 +++++++++ 4 files changed, 19 insertions(+) diff --git a/Example/DBAttachmentPickerControllerExample.xcodeproj/project.xcworkspace/xcuserdata/gk.xcuserdatad/UserInterfaceState.xcuserstate b/Example/DBAttachmentPickerControllerExample.xcodeproj/project.xcworkspace/xcuserdata/gk.xcuserdatad/UserInterfaceState.xcuserstate index 6cb42bfb3f08117d1ce79bea8985fd3451349fc4..7a679c553ba173a3eb9cb24ceed66fc5a20b28f3 100644 GIT binary patch delta 18718 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 delta 15809 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 Y^s(7v3rz`MgiPONGSheO-?5ti1DyN(L;wH) diff --git a/Example/DBAttachmentPickerControllerExample.xcodeproj/xcuserdata/gk.xcuserdatad/xcschemes/xcschememanagement.plist b/Example/DBAttachmentPickerControllerExample.xcodeproj/xcuserdata/gk.xcuserdatad/xcschemes/xcschememanagement.plist index 3fcd77f..88d8b88 100644 --- a/Example/DBAttachmentPickerControllerExample.xcodeproj/xcuserdata/gk.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/Example/DBAttachmentPickerControllerExample.xcodeproj/xcuserdata/gk.xcuserdatad/xcschemes/xcschememanagement.plist @@ -9,6 +9,11 @@ orderHint 0 + DBAttachmentPickerControllerExample.xcscheme_^#shared#^_ + + orderHint + 0 + diff --git a/Source/DBAttachmentPickerController.h b/Source/DBAttachmentPickerController.h index ef568c0..3813153 100644 --- a/Source/DBAttachmentPickerController.h +++ b/Source/DBAttachmentPickerController.h @@ -74,6 +74,11 @@ typedef void (^CancelBlock)(); */ @property (assign, nonatomic) BOOL allowsMultipleSelection; // default is NO +/*! + @brief Used to save photos or videos taken with the camera to camera roll + */ +@property (assign, nonatomic) BOOL saveToPhotoLibrary; // default is NO + /*! @brief Creates and returns an attachment picker controller @see presentOnViewController: diff --git a/Source/DBAttachmentPickerController.m b/Source/DBAttachmentPickerController.m index 21ea6a1..cda6672 100644 --- a/Source/DBAttachmentPickerController.m +++ b/Source/DBAttachmentPickerController.m @@ -51,6 +51,7 @@ + (instancetype)attachmentPickerControllerFinishPickingBlock:(FinishPickingBlock controller.mediaType = DBAttachmentMediaTypeMaskAll; controller.allowsSelectionFromOtherApps = NO; controller.allowsMultipleSelection = NO; + controller.saveToPhotoLibrary = NO; controller.capturedVideoQulity = UIImagePickerControllerQualityTypeMedium; #pragma clang diagnostic push @@ -105,6 +106,7 @@ + (instancetype)imagePickerControllerFinishPickingBlock:(FinishImagePickingBlock DBAttachmentPickerController *controller = [self attachmentPickerControllerFinishPickingBlock:finishBlock cancelBlock:cancelBlock]; controller.mediaType = DBAttachmentMediaTypeImage; controller.ignoreChangeMediaType = YES; + controller.saveToPhotoLibrary = NO; return controller; } @@ -127,6 +129,7 @@ + (instancetype)videoPickerControllerFinishPickingBlock:(FinishVideoPickingBlock DBAttachmentPickerController *controller = [self attachmentPickerControllerFinishPickingBlock:finishBlock cancelBlock:cancelBlock]; controller.mediaType = DBAttachmentMediaTypeVideo; controller.ignoreChangeMediaType = YES; + controller.saveToPhotoLibrary = NO; return controller; } @@ -330,12 +333,18 @@ - (void)imagePickerController:(UIImagePickerController *)picker didFinishPicking UIImage *image = info[UIImagePickerControllerOriginalImage]; DBAttachment *attachment = [DBAttachment attachmentFromCameraImage:image]; attachmentArray = @[attachment]; + if (self.saveToPhotoLibrary) { + UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); + } } else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie] || [mediaType isEqualToString:(NSString *)kUTTypeVideo]) { NSURL *documentURL = info[UIImagePickerControllerMediaURL]; if (documentURL) { DBAttachment *attachment = [DBAttachment attachmentFromDocumentURL:documentURL]; attachmentArray = @[attachment]; } + if (self.saveToPhotoLibrary) { + UISaveVideoAtPathToSavedPhotosAlbum([documentURL path], nil, nil, nil); + } } __weak typeof(self) weakSelf = self; From 555cb08e978aaa480cf57e4af99b5ea145f4fe7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gruber=20Kristo=CC=81f?= Date: Mon, 18 Feb 2019 11:32:35 +0100 Subject: [PATCH 7/8] Better login screen on iPhone X --- .../UserInterfaceState.xcuserstate | Bin 37608 -> 37592 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Example/DBAttachmentPickerControllerExample.xcodeproj/project.xcworkspace/xcuserdata/gk.xcuserdatad/UserInterfaceState.xcuserstate b/Example/DBAttachmentPickerControllerExample.xcodeproj/project.xcworkspace/xcuserdata/gk.xcuserdatad/UserInterfaceState.xcuserstate index 7a679c553ba173a3eb9cb24ceed66fc5a20b28f3..9f41947578de9c56ba100061f5d4d741e1916647 100644 GIT binary patch delta 2839 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 S&$zgMY?WMjc4qt7N&f?_XKyV4 delta 2857 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 From 138532aa0f814dc7c0814e618dc4d8cd935f33dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gruber=20Kristo=CC=81f?= Date: Sat, 6 Jul 2019 21:52:29 +0200 Subject: [PATCH 8/8] Changes according https://github.com/d0ping/DBAttachmentPickerController/pull/15 --- .../project.pbxproj | 10 +++++----- .../UserInterfaceState.xcuserstate | Bin 37592 -> 38149 bytes .../Info.plist | 8 ++++---- .../DBAssetGroupsViewController.m | 1 - 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/Example/DBAttachmentPickerControllerExample.xcodeproj/project.pbxproj b/Example/DBAttachmentPickerControllerExample.xcodeproj/project.pbxproj index 356e8dc..f8dbff8 100644 --- a/Example/DBAttachmentPickerControllerExample.xcodeproj/project.pbxproj +++ b/Example/DBAttachmentPickerControllerExample.xcodeproj/project.pbxproj @@ -305,7 +305,6 @@ TargetAttributes = { C3134EAE1C9C30990023B9E6 = { CreatedOnToolsVersion = 7.2.1; - DevelopmentTeam = 9L2H2A796T; SystemCapabilities = { com.apple.iCloud = { enabled = 1; @@ -319,6 +318,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ru, @@ -531,11 +531,11 @@ CODE_SIGN_ENTITLEMENTS = DBAttachmentPickerControllerExample/DBAttachmentPickerControllerExample.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEVELOPMENT_TEAM = 9L2H2A796T; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = DBAttachmentPickerControllerExample/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = hu.lka.gk.dbattachmentpicker; + PRODUCT_BUNDLE_IDENTIFIER = DB.DBAttachmentPickerControllerExample; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; }; @@ -548,11 +548,11 @@ CODE_SIGN_ENTITLEMENTS = DBAttachmentPickerControllerExample/DBAttachmentPickerControllerExample.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEVELOPMENT_TEAM = 9L2H2A796T; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = DBAttachmentPickerControllerExample/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = hu.lka.gk.dbattachmentpicker; + PRODUCT_BUNDLE_IDENTIFIER = DB.DBAttachmentPickerControllerExample; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; }; diff --git a/Example/DBAttachmentPickerControllerExample.xcodeproj/project.xcworkspace/xcuserdata/gk.xcuserdatad/UserInterfaceState.xcuserstate b/Example/DBAttachmentPickerControllerExample.xcodeproj/project.xcworkspace/xcuserdata/gk.xcuserdatad/UserInterfaceState.xcuserstate index 9f41947578de9c56ba100061f5d4d741e1916647..8f3107102e2a63ae9ee3c670f0a9ec005dd8ecc8 100644 GIT binary patch delta 17342 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 G<^Kl-Ae8z5 delta 16831 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 szgPd8{ - NSCameraUsageDescription - This demo app uses your camera to take photos or videos - NSPhotoLibraryUsageDescription - This demo app uses your Photo Library CFBundleDevelopmentRegion en CFBundleExecutable @@ -26,6 +22,10 @@ 1 LSRequiresIPhoneOS + NSCameraUsageDescription + This demo app uses your camera to take photos or videos + NSPhotoLibraryUsageDescription + This demo app uses your Photo Library UILaunchStoryboardName LaunchScreen UIMainStoryboardFile diff --git a/Source/DBAssetPickerController/DBAssetGroupsViewController.m b/Source/DBAssetPickerController/DBAssetGroupsViewController.m index 2bf47cc..c5875ee 100644 --- a/Source/DBAssetPickerController/DBAssetGroupsViewController.m +++ b/Source/DBAssetPickerController/DBAssetGroupsViewController.m @@ -49,7 +49,6 @@ - (void)viewDidLoad { PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAny options:nil]; PHFetchResult *userAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil]; self.fetchResults = @[smartAlbums, userAlbums]; -// self.fetchResults = @[userAlbums]; [self updateAssetCollections]; }