如何将 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 添加到照片流?的主要内容,如果未能解决你的问题,请参考以下文章

从 ALAsset 检索添加到库的日期?

如何将视频从 ALAsset 显示到 UICollectionview ios

如何使用照片框架在 IOS 8 中将照片添加到照片库

如何以编程方式检索对 iOS 照片流中的照片所做的评论?

ALAsset 图像大小

我如何知道资产库中存在 ALAsset 的 NSURL?