gpt4 book ai didi

iphone - ALAssetsLibrary enumerateGroupsWithTypes 不返回任何数据

转载 作者:行者123 更新时间:2023-12-03 21:18:11 24 4
gpt4 key购买 nike

我正在使用 AssetsLibrary 框架来检索 iPhone 中的所有 Assets 组。我有一些这样的代码片段:

NSMutableArray *groups = [[NSMutableArray alloc] initWithCapacity:5];
void (^groupEnumerator)(ALAssetsGroup*, BOOL*) = ^(ALAssetsGroup *group, BOOL *stop) {
if(group != nil) {
NSLog(@"Adding group %@", [group valueForProperty:ALAssetsGroupPropertyName]);
[groups addObject:group];
}
};

ALAssetsLibrary* library = [AssetsManager defaultAssetsLibrary];
[library enumerateGroupsWithTypes: ALAssetsGroupSavedPhotos
usingBlock:groupEnumerator
failureBlock:^(NSError * err) {NSLog(@"Erorr: %@", [err localizedDescription]);}];

我发现了一个奇怪的行为:

1) 当我在 iOS 模拟器中运行我的应用程序时(在 Xcode 中使用 command + R),将执行 groupEnumerator 并在控制台中打印组名称

2)我为我的应用程序编写了一些单元测试,当我运行单元测试(在 Xcode 中使用 command + U)时,它调用上面的代码片段,因为它在我的应用程序中被调用,groupEnumerator 似乎没有在所有组名称都不会被打印,并且 failureBlock 也不会被调用,运行测试时我没有收到任何错误,但组枚举不能像在应用程序中那样工作。

我检查了Apple的文档,我知道这个方法(enumerateGroupsWithTypes:usingBlock:failureBlock:)是异步的,但是,即使我在单元测试中等待很长时间,我也没有看到groupEnumerator被执行。

我正在使用 Xcode 4.2 针对 iOS 5.0 进行测试。

感谢任何帮助。谢谢。

最佳答案

卡在这个问题上好几天了,无法找出这个问题的具体原因。

我不得不改用 gh-unit,而不是在 Xcode 4 中使用 OCUnit,这实际上解决了这个问题。这似乎与 Xcode 4 运行测试目标的方式有关。

http://gabriel.github.com/gh-unit

关于iphone - ALAssetsLibrary enumerateGroupsWithTypes 不返回任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8342910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com