ALAssestsLibrary активируется, только если в xcode выбрана опция устройства - PullRequest
0 голосов
/ 28 марта 2011

Я хочу использовать платформу 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");
                             }];

1 Ответ

0 голосов
/ 28 марта 2011

Это работает для меня, используя симулятор iPhone с iOS 4.2 и Xcode 3.

Перечисляете ли вы все группы в enumerateGroupsWithTypes: usingBlock: failBlock:?

Есть учебник , в котором используется ALAssetsGroupAlbum.
Если вы используете этот учебник, используйте ALAssetsGroupAll вместо ALAssetsGroupAlbum, чтобы получить фотографии, сохраненные в симуляторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...