这段代码在iOS 7上运行良好,但在iOS 8.1中,“我的照片流”相册中的所有资产在结果块内都为null。(failureBlock未调用。)常规相册和共享相册工作得很好。
我尝试了这个答案:即,我持有对ALAssetsLibrary对象的引用,监听ALAssetsLibraryChangedNotification
事件(顺便说一句,这个事件没有发生),我确保我的应用程序有权限访问照片,在wi-fi上,我可以在tableView中看到照片的缩略图。只是当我尝试使用assetForURL:
加载它们时,它们总是为null。
// 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!");
}];
还有其他人遇到这个问题吗?
item.url
应该只是url
,对吧?而且我们可能需要调用一个成功的块,将 ALAsset 传递进去。再次感谢! - taberresult
变量,而不是asset
。 - Andrew Simontsev