Con iOS Photos Framework come faccio a elencare tutte le PHAssetCollections disponibili? Mi piacerebbe trovare la raccolta "Photo Roll" in modo da poter recuperare tutte le foto da quella raccolta, in particolare. Come faccio a farlo con iOS 8+ usando il nuovo PhotosFramework?Con iOS Photos Framework come faccio a elencare tutte le PHAssetCollections disponibili?
5
A
risposta
5
Se si guarda a fototipi, si può vedere che Rullino non è incluso nel PH, è possibile arrivare ad essa da
PHFetchResult *result = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum
subtype:PHAssetCollectionSubtypeSmartAlbumUserLibrary
options:nil];
PHAssetCollection *assetCollection = result.firstObject;
NSLog(@"%@", assetCollection.localizedTitle); // Camera Roll
In generale questo è il modo per ottenere tutto
012.PHFetchOptions *options = [[PHFetchOptions alloc] init];
options.wantsIncrementalChangeDetails = YES;
options.predicate = [NSPredicate predicateWithFormat:@"mediaType == %d",PHAssetMediaTypeImage];
PHFetchResult *albums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil];
for (PHAssetCollection *sub in albums)
{
PHFetchResult *fetchResult = [PHAsset fetchAssetsInAssetCollection:sub options:options];
}
#pragma mark - PHAssetCollection types
typedef NS_ENUM(NSInteger, PHAssetCollectionType) {
PHAssetCollectionTypeAlbum = 1,
PHAssetCollectionTypeSmartAlbum = 2,
PHAssetCollectionTypeMoment = 3,
} NS_ENUM_AVAILABLE_IOS(8_0);
typedef NS_ENUM(NSInteger, PHAssetCollectionSubtype) {
// PHAssetCollectionTypeAlbum regular subtypes
PHAssetCollectionSubtypeAlbumRegular = 2,
PHAssetCollectionSubtypeAlbumSyncedEvent = 3,
PHAssetCollectionSubtypeAlbumSyncedFaces = 4,
PHAssetCollectionSubtypeAlbumSyncedAlbum = 5,
PHAssetCollectionSubtypeAlbumImported = 6,
// PHAssetCollectionTypeAlbum shared subtypes
PHAssetCollectionSubtypeAlbumMyPhotoStream = 100,
PHAssetCollectionSubtypeAlbumCloudShared = 101,
// PHAssetCollectionTypeSmartAlbum subtypes
PHAssetCollectionSubtypeSmartAlbumGeneric = 200,
PHAssetCollectionSubtypeSmartAlbumPanoramas = 201,
PHAssetCollectionSubtypeSmartAlbumVideos = 202,
PHAssetCollectionSubtypeSmartAlbumFavorites = 203,
PHAssetCollectionSubtypeSmartAlbumTimelapses = 204,
PHAssetCollectionSubtypeSmartAlbumAllHidden = 205,
PHAssetCollectionSubtypeSmartAlbumRecentlyAdded = 206,
PHAssetCollectionSubtypeSmartAlbumBursts = 207,
PHAssetCollectionSubtypeSmartAlbumSlomoVideos = 208,
PHAssetCollectionSubtypeSmartAlbumUserLibrary = 209,
// Used for fetching, if you don't care about the exact subtype
PHAssetCollectionSubtypeAny = NSIntegerMax
} NS_ENUM_AVAILABLE_IOS(8_0);
3
Usa sotto data frammento di codice per ottenere i Album tutti intelligenti e tutti intelligenti foto
// Get all Smart Albums
PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil];
[smartAlbums enumerateObjectsUsingBlock:^(PHAssetCollection *collection, NSUInteger idx, BOOL *stop) {
NSLog(@"album title %@", collection.localizedTitle);
}];
// Get all photos
PHFetchResult *allPhotosResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:nil];
// Get assets from the PHFetchResult object
[allPhotosResult enumerateObjectsUsingBlock:^(PHAsset *asset, NSUInteger idx, BOOL *stop) {
NSLog(@"asset %@", asset);
CGSize size=CGSizeMake(90, 90);
PHImageManager *imageManager;
[imageManager requestImageForAsset:asset targetSize:size contentMode:PHImageContentModeAspectFit options:nil resultHandler:^(UIImage *result, NSDictionary *info) {
yourImageView.image=result;
}];
}];
per riferimento: https://developer.apple.com/library/prerelease/ios/samplecode/UsingPhotosFramework/Introduction/Intro.html
Problemi correlati
- 1. Come elencare le regioni disponibili con Boto3 (Python)
- 2. Come posso elencare tutte le viste disponibili di una particolare tabella in SQLite?
- 3. Come faccio a elencare in modo ricorsivo tutte le directory in una posizione, prima di tutto?
- 4. Elenco Android tutte le immagini disponibili
- 5. Come elencare tutte le proprietà di classe
- 6. Come elencare i plugin disponibili in Gradle
- 7. Come posso elencare le variabili già disponibili all'interno di Jenkinsfile?
- 8. Come rilevare tutte le reti Wifi disponibili e collegarsi a una di esse in un'app iOS
- 9. Salvare i metadati per l'immagine personalizzata con Swift (iOS) e Photos framework
- 10. Come elencare le modalità video disponibili usando C#?
- 11. Come posso elencare gli algoritmi Cipher disponibili?
- 12. Elencare tutte le versioni disponibili di un pacchetto specifico in NuGet Package Manager Console
- 13. Come posso elencare tutte le proprietà dell'oggetto Math?
- 14. Come elencare tutte le proprietà di un oggetto PowerShell?
- 15. Come faccio a elencare solo i file che verrebbero inseriti?
- 16. Trasmettere un messaggio a tutte le macchine disponibili su WiFi
- 17. C'è un modo per elencare tutte le lettere di unità disponibili in python?
- 18. Trasmissione messaggio UDP a tutte le schede di rete disponibili
- 19. NSLocale - ottieni tutte le lingue disponibili
- 20. Ottieni tutte le possibili valute disponibili
- 21. Sono disponibili tutte le librerie ccTalk?
- 22. eliminazione di un asset del rullo fotocamera utilizzando Photos framework
- 23. iOS: Come faccio a scorrere tra le visualizzazioni utilizzando Swift
- 24. Come elencare tutte le lingue caricate da angular-translate
- 25. Come elencare tutte le voci JNDI in "java: global" namespace
- 26. Come elencare in modo programmatico tutte le proprietà definite?
- 27. Come elencare tutte le classi conformi al protocollo in Swift?
- 28. Come AGGIORNARE tutte le colonne di un record senza dover elencare tutte le colonne
- 29. come elencare tutte le sottodirectory in una directory
- 30. Come elencare tutte le date tra due date
Sembra che "PHImageManager" non sia assegnato, ma appena dichiarato. Non dovrebbe essere come '= [PHImageManager defaultManager]'? – efimovdk