Я хочу использовать платформу ALAssetsLibrary для отображения фотографий из фотоальбома. Но при редактировании кода я обнаружил, что 1) codesense показывает методы под этой платформой, только если в левом раскрывающемся меню в xcode выбран параметр «устройство».
2) Более того, когда я пытался создать и запустить симулятор, массив, который должен был содержать объекты, представляющие изображения, был пуст, хотя в симуляторе было два изображения.
3) Я использую блоки в коде, в которые не могу войти при отладке.
Означают ли эти две вещи, что фреймворк функционирует только при работе в устройстве? У меня сейчас нет устройства со мнойтак что не могу проверить для себя.
void (^assetEnumerator)(struct ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
if(result != NULL) {
NSLog(@"See Asset: %@", result);
[photosArray addObject:result];
}
};
void (^assetGroupEnumerator)(struct ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) {
if(group != nil) {
[group enumerateAssetsUsingBlock:assetEnumerator];
}
};
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:assetGroupEnumerator
failureBlock: ^(NSError *error) {
NSLog(@"Failure");
}];