Questo codice ha funzionato correttamente in iOS 7 ma in iOS 8.1 tutte le risorse che si trovano nell'album "My Photo Stream" sono nul all'interno del blocco dei risultati. (Il fallimentoBlock non viene chiamato.) Gli album normali e gli album condivisi funzionano bene.ALAssetsBiblioteca assetForURL: restituisce sempre nil per le foto in "My Photo Stream" in iOS 8.1
ho cercato la risposta accettata da: Error trying to assigning __block ALAsset from inside assetForURL:resultBlock:
Cioè, ho in mano un riferimento a un oggetto ALAssetsLibrary, ascoltando per l'evento ALAssetsLibraryChangedNotification
(cosa che non avviene btw, ma vabbè.) Ho fatto certo che la mia app ha il permesso di accedere alle foto, io sono su wi-fi, vedo le miniature delle foto bene nel mio tableView. È solo quando cerco di caricarli con assetForURL:
che sono sempre nulli.
// example URL: assets-library://asset/asset.JPG?id=1ECB69B9-DC7A-45A7-B135-F43317D3412C&ext=JPG
[self.library assetForURL:[NSURL URLWithString:url] resultBlock:^(ALAsset *asset) {
NSLog(@"Asset: %@", asset); // nil :(
} failureBlock:^(NSError *error) {
NSLog(@"Failure, wahhh!");
}];
Qualcun altro sta visualizzando questo problema?
Anche se non è l'ideale, questo fa davvero il trucco, grazie mille! Non essere eccessivamente nitpicky ma sembra che 'item.url' dovrebbe essere solo 'url' corretto? E probabilmente dovremmo chiamare un blocco di successo che passi in ALAsset. Grazie ancora! – taber
Ho lo stesso problema per Moment e My Photo Stream, sebbene la soluzione sopra non funzioni ... enumerare i gruppi non fa nulla ... anche se cambio ALAssetsGroupPhotoStream in ALAssetsGroupAll – AkademiksQc
strano, ha funzionato qui - sei sicuro hai approvato il permesso per le foto? – taber