Этот код отлично работал в iOS 7, но в iOS 8.1 все активы, находящиеся в альбоме "My Photo Stream", равны нулю изнутри блока результатов. (Сбой отказа не вызывается.) Обычные альбомы и общие альбомы работают нормально.
Я попробовал принятый ответ: Ошибка при попытке присвоить __block ALAsset изнутри assetForURL: resultBlock:
То есть, я держу ссылку на объект ALAssetsLibrary, прислушиваясь к событию ALAssetsLibraryChangedNotification
(чего не происходит, но хорошо.) Я убедился, что у моего приложения есть разрешение на доступ к фотографиям, m на wi-fi, я вижу миниатюры фотографий в моем столе. Это просто, когда я пытаюсь загрузить их с помощью assetForURL:
, они всегда равны нулю.
// 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!");
}];
Кто-нибудь еще видит эту проблему?