DBCamera
DBCamera copied to clipboard
Init camera long time
"DBLibraryManager.m" Line-117 change like this will init camera faster
if(blockGetAllAssets){ [items addObject:[[result defaultRepresentation] url]]; }
PS:My photo library saved more than 2000+ photos.It init camera take a long time.
I'm facing the same problem on iOS 10. It takes more than 12 seconds to load the photo library. Changing the line you suggested doesn't solve the problem.
@thelordy I'm testing on iOS10 .The code i changed make the camera init faster when i push the DBCameraContainerViewController.But it also use a long time when i touch right bottom 'show libaray button' to open the photo library show in GridView.
Same problem for me.
I ended up using ReactiveObjc and the new Photos framework to achieve a better performance.
The new Photos framework gives me the photos ordered by date latest first, and the ReactiveObjC gives me the ability to add the photos in batches, and not load all of them to only then show to the user.
I've also added video browsing through DBCamera.
I'll clean up the code, and I should submit it soon.
Ok guys, just fixed the issue. You have to make some changes on this files:
"DBLibraryManager.m":
-
On Line 86 ( before 'if ( group )') add: ALAssetsFilter *onlyPhotosFilter = [ALAssetsFilter allPhotos]; [group setAssetsFilter:onlyPhotosFilter];
-
Replace Lines from 113 to 119 with: if ( result ) { [items addObject:result]; assetResult = result; }
"DBCameraCollectionViewController.m":
-
Replace Lines from 74 to 78 with: ALAsset *asset = _items[indexPath.item]; CGImageRef thumbnailImageRef = [asset thumbnail]; UIImage *thumbnail = [UIImage imageWithCGImage:thumbnailImageRef]; item.itemImage.image = thumbnail;
-
Replace Line 93 with: [_collectionControllerDelegate collectionView:collectionView itemURL:(NSURL *)[[asset defaultRepresentation] url]];
Hope to help someone else because this library is amazing!