如何将 ALAsset 添加到照片流?
Posted
技术标签:
【中文标题】如何将 ALAsset 添加到照片流?【英文标题】:How to add an ALAsset to the Photo Stream? 【发布时间】:2012-11-12 17:16:43 【问题描述】:我尝试将 ALAsset 添加到照片流,但看起来这是不可能的。 有什么建议吗?
我尝试了以下方法:
typedef void(^SaveImageCompletion)(NSError* error);
-(void)addAssetURL:(NSURL*)assetURL toPhotoStreamWithCompletionBlock:(SaveImageCompletion)completionBlock
[self enumerateGroupsWithTypes:ALAssetsGroupPhotoStream usingBlock:^(ALAssetsGroup *group, BOOL *stop)
if (group)
*stop = YES;
[self assetForURL: assetURL resultBlock:^(ALAsset *asset)
if ([group addAsset: asset])
NSLog(@"Added to photo stream!");
else
NSLog(@"ERROR! Adding to photo stream failed!");
completionBlock(nil);
failureBlock: completionBlock];
return;
failureBlock: completionBlock];
但是,addAsset: 总是失败。它适用于常规专辑..
非常感谢!
【问题讨论】:
我刚刚发现,照片流的 ALAssetsGroup 的可编辑属性设置为 NO,所以我认为不可能在那个组中这样写。 是的,您只能写入相机胶卷和设备本身创建的相册。 太糟糕了,我认为这个 API 目前还不能真正使用。您甚至无法从自己的相册中删除资产或重命名相册... 是的,苹果认为从照片库中删除任何内容都太危险了。自 ios 4 中引入 API 以来一直没有改变。 【参考方案1】:从 iOS 8 开始,Apple 创建了 Photos 框架来做这些事情。
有一个广泛的Photos framework sample project。
【讨论】:
以上是关于如何将 ALAsset 添加到照片流?的主要内容,如果未能解决你的问题,请参考以下文章