在 iOS 8 中删除专辑后 AssetsLibrary 框架无法正常工作

Posted

技术标签:

【中文标题】在 iOS 8 中删除专辑后 AssetsLibrary 框架无法正常工作【英文标题】:AssetsLibrary framework not working after delete album in iOS 8 【发布时间】:2014-11-24 05:09:57 【问题描述】:

我想用新专辑(用我的应用名称)保存我应用中的所有图像。所以我在我的项目中使用了断言库。它在 ios 7 中运行良好,但在 ios8 及更高版本中运行良好。当用户从照片中删除相册时出错,断言库无法在 ios8 中再次创建同名的新相册。有人有解决方案吗?谢谢

【问题讨论】:

通过这个链接。它可能会帮助你。***.com/questions/26003211/… 是的,它正在工作,但我无法理解完整的代码。所以当我试图保存照片时,它又创建了一张新专辑,所以你能给我一个标准代码吗?请我想保留专辑名称是照片应用程序,感谢您重播我 【参考方案1】:

你可以试试我下面的方法为 iOS 7 和 iOS 8 创建相册

#define PHOTO_ALBUM_NAME @"AlbumName Videos"

#pragma mark - Create Album
-(void)createAlbum

// phphotoLibrary_class will only be non-nil on iOS 8.x.x
Class PHPhotoLibrary_class = NSClassFromString(@"PHPhotoLibrary");

if (PHPhotoLibrary_class) 


    // iOS 8..x. . code that has to be called dynamically at runtime and will not link on iOS 7.x.x ...

    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^
        [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:PHOTO_ALBUM_NAME];
     completionHandler:^(BOOL success, NSError *error) 
        if (!success) 
            NSLog(@"Error creating album: %@", error);
        else
            NSLog(@"Created");
        
    ];
else
    [self.library addAssetsGroupAlbumWithName:PHOTO_ALBUM_NAME resultBlock:^(ALAssetsGroup *group) 
        NSLog(@"adding album:'Compressed Videos', success: %s", group.editable ? "YES" : "NO");

        if (group.editable == NO) 
        

     failureBlock:^(NSError *error) 
        NSLog(@"error adding album");
    ];

【讨论】:

以上是关于在 iOS 8 中删除专辑后 AssetsLibrary 框架无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

确定歌曲在 iOS 中是不是有专辑封面

从库 ios 中仅检索特定专辑的视频

iOS 控制器忽略专辑ArtURI

iOS iCarousel 重用不同专辑保留旧专辑信息问题

iOS:从 iPod 库中获取和显示专辑插图

ios - 使 UIScrollView 平滑滚动