Доступ к снимкам в режиме пакетной съемки в библиотеке

Я пытаюсь получить доступ к фотографиям в библиотеке ресурсов iOS, которую пользователь использовал в режиме Burst. Я пытаюсь использовать ALAssetsLibrary и фильтровать фотографии:

 - (void)findBurstModePhotos { ALAssetsFilter *allPhotos = [ALAssetsFilter allPhotos]; ALAssetsLibrary *assetLibrary = [[ALAssetsLibrary alloc] init]; [assetLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) { [group setAssetsFilter:allPhotos]; NSLog(@"Group: %@", [group valueForProperty: ALAssetsGroupPropertyName]); if ([group numberOfAssets] > 0) { [self evaluateGroup:group]; } } failureBlock:^(NSError *error) { NSLog(@"Failure enumerating groups: %@", [error localizedDescription]); }]; } - (void)evaluateGroup:(ALAssetsGroup *)group { [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) { NSLog(@"Photo date: %@", [result valueForProperty:ALAssetPropertyDate]); }]; } 

К сожалению, это возвращает фотографии серийного режима в виде одной фотографии. Есть ли поддерживаемый способ получения фотографий серийного режима отдельно? Я хотел бы получить каждую фотографию из одной сессии серийного режима.

По моему пониманию, фотографии серийного режима будут добавлены в библиотеку по отдельности. Тип ALAssetProperty каждого изображения будет ALAssetTypePhoto вы можете получить каждую фотографию отдельно, используя нижний блок ALAsset. Вы не можете получить только набор фотографий ALAssetsGroupTypes режима за раз, потому что доступно только 7 типов ALAssetsGroupTypes и 3 вида ALAssetsFilters . Ни один из них не имеет дело с фотографиями серийного режима.

Надеюсь, Apple в будущем обеспечит фильтрацию фотографий Burst.

 ---------------------------- ALAssetsGroupType ------------------------------------------- ALAssetsGroupLibrary // The Library group that includes all assets. ALAssetsGroupAlbum // All the albums synced from iTunes or created on the device. ALAssetsGroupEvent // All the events synced from iTunes. ALAssetsGroupFaces // All the faces albums synced from iTunes. ALAssetsGroupSavedPhotos // The Saved Photos album. ALAssetsGroupPhotoStream // The PhotoStream album. ALAssetsGroupAll // The same as ORing together all the available group types,with the exception that ALAssetsGroupLibrary is not included. -------------------------- ALAssetsFilter ------------------------------------------------ + (ALAssetsFilter *)allPhotos; // Get all photos assets in the assets group. + (ALAssetsFilter *)allVideos; // Get all video assets in the assets group. + (ALAssetsFilter *)allAssets; // Get all assets in the group. 

Используйте приведенный ниже код, чтобы получать каждую фотографию отдельно, включая фотографии серийного режима,

 - (void)findBurstModePhotos { ALAssetsLibrary *assetLibrary = [ViewController defaultAssetsLibrary]; [assetLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop) { [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) { if(result) { [self evaluateGroup:group]; } }]; } failureBlock:^(NSError *error) { NSLog(@"Error loading images %@", error); }]; } - (void)evaluateGroup:(ALAssetsGroup *)group { [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) { NSLog(@"Photo date: %@", [result valueForProperty:ALAssetPropertyDate]); }]; } + (ALAssetsLibrary *)defaultAssetsLibrary { static dispatch_once_t pred = 0; static ALAssetsLibrary *library = nil; dispatch_once(&pred, ^{ library = [[ALAssetsLibrary alloc] init]; }); return library; } 

Выходной журнал:

 Photo date: 2013-05-06 15:57:21 +0000 //non burst image. Photo date: 2013-05-06 15:57:41 +0000 //non burst image. Photo date: 2013-12-20 21:10:40 +0000 //burst image. Photo date: 2013-12-20 21:10:41 +0000 //burst image. Photo date: 2013-12-20 21:10:41 +0000 //burst image. Photo date: 2013-12-20 21:10:41 +0000 //burst image. Photo date: 2013-12-20 21:10:41 +0000 //burst image. Photo date: 2013-12-20 21:10:42 +0000 //burst image. Photo date: 2013-12-20 21:10:42 +0000 //burst image. Photo date: 2013-12-20 21:10:42 +0000 //burst image. Photo date: 2013-12-20 21:10:43 +0000 //burst image. Photo date: 2013-12-20 21:10:43 +0000 //burst image. Photo date: 2013-12-20 21:10:43 +0000 //burst image. Photo date: 2013-12-20 21:10:44 +0000 //burst image. Photo date: 2013-12-20 21:10:44 +0000 //burst image. Photo date: 2013-12-20 21:10:44 +0000 //burst image. Photo date: 2013-12-20 21:10:44 +0000 //burst image. Photo date: 2013-12-20 21:10:45 +0000 //burst image. Photo date: 2013-12-20 21:10:45 +0000 //burst image. Photo date: 2013-12-20 21:10:45 +0000 //burst image. Photo date: 2013-12-20 21:10:45 +0000 //burst image. Photo date: 2013-12-20 21:10:46 +0000 //burst image. 

Заметка:

Если камера ALAsset URL's режима является частью вашего приложения, сохраните ALAsset URL's при сохранении захваченных фотографий в галерее фотографий. Вы можете получить эту фотографию с помощью сохраненного ALAsset URL's ALAsset через библиотеку ALAsset .

  • ALAssetsGroup становится недействительной
  • iOS сохранить фотографию в конкретном приложении
  • iOS Создать пользовательский фотоальбом в Фото (addAssetsGroupAlbumWithName под iOS 5?)
  • Получить «ретушированный» образ из ALAssetRepresentation
  • iOS перестала запрашивать у пользователя разрешение на фотобиблиотеку
  • MonoTouch: получение изображения из ALAssetsLibrary.AssetForUrl
  • Как найти название альбома для каждого изображения с помощью ALAssetsLibrary
  • Есть ли способ получить не-квадрат миниатюры ALAsset?
  • Как отображать видео с ALAsset на UICollectionview ios
  • Безопасен ли поток ALAssetsLibrary (Deadlock возникает при использовании нескольких потоков)
  • Кажется, что ALAssetsLibrary возвращает неправильное количество моих фотографий
  • Interesting Posts

    Не удалось загрузить оптимизированную модель – GoogleMaps SDK IOS

    Coredata, NSOrderedSet и iCloud

    Затухание расстояния с помощью OpenAL на iPhone / iPod

    <FIRMessaging / WARNING> Регистрация FIRMessaging не готова с учетными данными auth

    Как активировать сотовую радиостанцию ​​в iOS, поскольку bsd-сокеты не активируют ее автоматически

    iOS 10 Callkit не отображает пользовательский интерфейс входящего вызова

    iOS: сигнал SIGTRAP без точек останова?

    Какие записи будут загружаться при вызове CKFetchRecordChangesOperation с нолем nil?

    Обнаруживать, когда пользователь очищает уведомление от центра уведомлений

    NSURLErrorDomain Code = -1000 «плохой URL»: что это значит?

    Как сохранить массив объектов с помощью сервера parse.com iOS?

    Невозможно обнаружить Beacon, когда устройство уже находится в диапазоне Beacon, и затем мы включаем Bluetooth и приложение убито

    iPad против iPad Mini User Agent

    Как сделать панель навигации, например Instagram

    Проверьте, полностью ли отображается UITableViewCell

    Давайте будем гением компьютера.