Я разрабатываю приложение для iOS, основанное на API ALAssetsLibrary (доступно с 4.0), я использую его для извлечения всех изображений и видео, сохраненных на устройстве, и это было довольно просто. В любом случае, как только я установил iOS 4.3.4 на свой iPhone 4, мой код перестал работать. Строка, которая вызывает загрузку, ничего не делает! Код следующий (и он отлично работает на iOS 4.3.3):
ALAssetsLibrary *library = [[[ALAssetsLibrary alloc] init] autorelease];
ALAssetsGroupEnumerationResultsBlock assetsEnumerator = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
// handle asset
};
ALAssetsLibraryGroupsEnumerationResultsBlock groupsEnumerator = ^(ALAssetsGroup *group, BOOL *stop) {
// handle group
};
ALAssetsLibraryAccessFailureBlock failHandler = ^(NSError *error) {
// handle error
};
[library enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:groupsEnumerator failureBlock:failHandler];
кажется, что enumerateGroupsWithTypes: usingBlock: failureBlock: никогда не вызывается, потому что ни один из моих блоков не выполняется ... и ошибки не возникает! Зачем? Что я могу сделать?
ps: Я пытался изменить аргумент "типы", но проблема не в этом!