Skip to content

Instantly share code, notes, and snippets.

@iblacksun
Created March 11, 2014 14:44
Show Gist options
  • Save iblacksun/9487200 to your computer and use it in GitHub Desktop.
Save iblacksun/9487200 to your computer and use it in GitHub Desktop.
ALAssetsLibraryChangedNotification
-(void)startMonitor{
//[ALAssetsLibrary disableSharedPhotoStreamsSupport];
[self requireAssetsLibraryAuthorization];
self.assetsLibrary = [[ALAssetsLibrary alloc] init];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(assetsChanged:) name:ALAssetsLibraryChangedNotification object:nil];
[self.assetsLibrary writeImageToSavedPhotosAlbum:nil metadata:nil completionBlock:^(NSURL *assetURL, NSError *error){}];
}
-(void)assetsChanged:(NSNotification *)notification{
void(^EnumerateGroupBlock)(ALAssetsGroup *group, BOOL *stop) = ^(ALAssetsGroup *group, BOOL *stop){
[group setAssetsFilter:[ALAssetsFilter allPhotos]];
[group enumerateAssetsWithOptions:NSEnumerationReverse usingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
}];
};
[self.assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:EnumerateGroupBlock failureBlock:NULL];
NSDictionary *userInfo = notification.userInfo;
NSSet *updateAssets = userInfo[ALAssetLibraryUpdatedAssetsKey];
if (updateAssets.count>0) {
[[updateAssets allObjects] enumerateObjectsUsingBlock:^(NSURL *url, NSUInteger idx, BOOL *stop) {
[self.assetsLibrary assetForURL:url resultBlock:^(ALAsset *asset) {
UIImage *image = [UIImage imageWithCGImage:asset.thumbnail];
DLog(@"%@",image);
} failureBlock:^(NSError *error) {
ELog(error);
}];
}];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment