我在iOS 8上遇到了一个问题,资产库框架似乎是iOS 8中的一个错误.如果我创建一个名为"MyMedia"的专辑然后将其删除,那么当我再次尝试创建专辑时,这个大块下面的代码返回'nil'表示专辑'MyMedia'存在,即使它没有,因为我使用'Photos'应用删除了它.
__block ALAssetsGroup *myGroup = nil;
__block BOOL addAssetDone = false;
NSString *albumName = @"MyMedia";
[assetsLib addAssetsGroupAlbumWithName:albumName
resultBlock:^(ALAssetsGroup *group) {
myGroup = group;
addAssetDone = true;
} failureBlock:^(NSError *error) {
NSLog( @"failed to create album: %@", albumName);
addAssetDone = true;
}];
while (!addAssetDone) {
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.05f]];
}
return myGroup; // returns nil if group has previously been created and then deleted
Run Code Online (Sandbox Code Playgroud)
创建全新专辑"MyMedia2"时,此方法也适用.有没有其他人遇到此问题,并知道解决方法或解决方案?是唯一能够转移到新"照片"框架的解决方案,还是我在这里做错了什么?请注意,此代码始终适用于iOS7.X
实际上,重现此问题的步骤如下 - > 1.卸载拍摄照片的应用程序并将其保存到自定义相册2.在iOS照片下删除已保存照片的自定义相册3.安装应用程序4.如果您使用不创建它们的应用程序拍摄照片或录制视频或存储它们.如果您在iOS相册下查看,则自定义相册不存在,并且不存在使用该应用拍摄的所有照片/视频.