Ios 我如何知道资产库中存在ALAsset的NSURL?
如果我在数据库中的照片库(ALAsset)中保留了一张照片图像的url好几天,我如何通过它的NSURL知道该照片仍然存在于照片库中 我尝试过这个方法,但不起作用:Ios 我如何知道资产库中存在ALAsset的NSURL?,ios,alasset,photolibrary,Ios,Alasset,Photolibrary,如果我在数据库中的照片库(ALAsset)中保留了一张照片图像的url好几天,我如何通过它的NSURL知道该照片仍然存在于照片库中 我尝试过这个方法,但不起作用: // Have already obtained the asset object from ALAssetsLibrary NSURL *assetURL = [[(ALAsset*)asset defaultRepresentation] url]; BOOL exists = [[NSFileManager defaultMan
// Have already obtained the asset object from ALAssetsLibrary
NSURL *assetURL = [[(ALAsset*)asset defaultRepresentation] url];
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath: [assetURL absoluteString]];
NSLog(@"exists: %d (%@)", exists, [assetURL absoluteString]);
>> exists: 0 (assets-library://asset/asset.PNG?id=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&ext=PNG)
按你的要求试试这个。检查一下
dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);
__block BOOL flag=YES;
ALAssetsLibrary* assetslibrary = [[ALAssetsLibrary alloc] init];
[assetslibrary assetForURL:path resultBlock:^(ALAsset *asset) {
if (asset==nil)
{
flag=NO;
}
else
{
flag=YES;
}
dispatch_group_leave(group);
} failureBlock:^(NSError *error){
NSLog(@"operation was not successfull!");
dispatch_group_leave(group);
}];
dispatch_group_wait(group, DISPATCH_TIME_FOREVER);
dispatch_release(group);
NSURL*myURL=[NSURL URLWithString:@“url在这里”]NSString*path=[myURL absoluteString];我做了这个实现,但是它被卡在了行
dispatch\u group\u wait(group,dispatch\u TIME\u ever)上代码>。当库的另一个对象正忙时,可能会调用此方法。我认为它可能需要另一个线程或调度队列来处理它。是吗?我找到了解决我问题的方法。很好的问题和努力。