Я занимаюсь разработкой приложения для 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: failBlock: никогда не вызывается, потому что ни один из моих блоков не выполняется ... и не возникает ошибка! Зачем? Что я могу сделать?
ps: я пытался изменить аргумент "types", но это не проблема!