资产库框架在4.0和4.2上无法正常工作

时间:2010-11-17 00:50:56

标签: objective-c ipad ios4 assetslibrary

我尝试实现资源库并创建自定义图像选择器。具体来说,我正在尝试运行此处给出的代码:http://icodeblog.com/2010/10/07/cloning-uiimagepickercontroller-using-the-assets-library-framework/

代码在Simulator 4.1中运行得非常好,但是当我尝试使用4.0或4.2时,它会卡在加载屏幕上,它会在GDB上给出以下评论:

  

2010-11-16 16:37:27.514 ELCImagePickerDemo [49819:6b03]一个问题   发生

它来自代码中的这一行:

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
[library enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:assetGroupEnumerator failureBlock:^(NSError *error) 
{ 
    NSLog(@"A problem occured"); 
}]; 

不知怎的,我无法弄清问题是什么。我添加了Asset Lib框架和所有内容。

2 个答案:

答案 0 :(得分:1)

解决了,这是一个真正的头部破坏者!

好的,所以我检查了苹果论坛,这个家伙的帖子确实有帮助: https://devforums.apple.com/message/323036#323036

所以基本上assetGroupEnumerator在它自己的线程上运行所以我只是将整个函数包含在dispatch_async(dispatch_get_main_queue()中,它现在可以工作!!!

答案 1 :(得分:0)

您可以输出错误,然后我们会获得有关正在发生的事情的更多信息。

替换此行:

NSLog(@"A problem occured");

这一个:

NSLog(@"A problem occured: %@", error);