В iOS 8 Photos.framework я пытаюсь сохранить UIImage в пользовательской фотобиблиотеке, так же, как вы можете долго нажать изображение в Safari и выбрать "Сохранить изображение". В iOS 7 это можно было бы просто вызвать ALAssetLibrary writeImageToSavedPhotosAlbum:metadata:completionBlock
.
Для iOS 8 нам нужно выбрать коллекцию активов, чтобы добавить PHAsset, но я не могу понять, какой PHAssetCollection ближе всего к сохранению для пользователя "крен камеры" (хотя нет никого, действительно, в iOS 8)
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *newAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:image];
newAssetRequest.creationDate = time;
newAssetRequest.location = location;
PHObjectPlaceholder *placeholderAsset = newAssetRequest.placeholderForCreatedAsset;
PHAssetCollectionChangeRequest *addAssetRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:WHICH_ASSET_COLLECTION];
addAssetRequest addAssets:@[placeholderAsset];
} completionHandler:^(BOOL success, NSError *error) {
NSLog(@"Success: %d", success);
}];
Я попытался получить доступ к "недавно добавленному" смарт-альбому, но он не позволяет добавлять к нему новый контент.