我一直在努力解决这个错误时间,最后我深入研究了这段代码。此代码在您“运行”应用程序时运行良好,但在“测试”时会导致应用程序崩溃。我用谷歌搜索并发现了这个问题:
但是该解决方案对我不起作用;-(
我是一名新手 iOS 开发人员,所以我不确定这段代码是否做坏事。谁能告诉我:
- 可以像方法中那样做工作
application:didFinishLaunchingWithOptions:
吗? - 为什么这段代码会抛出错误?
谢谢!
#import "BRAppDelegate.h"
#import <AssetsLibrary/AssetsLibrary.h>
@implementation BRAppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void) {
ALAssetsLibrary *lib = [ALAssetsLibrary new];
[lib enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop){
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop){
}];
} failureBlock:^(NSError *error){
}];
});
return YES;
}
编辑
最奇怪的是,如果我注释掉
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop){
}];
不会发生崩溃!