为啥 PHAssetCollection 计数为 0?
Posted
技术标签:
【中文标题】为啥 PHAssetCollection 计数为 0?【英文标题】:Why is PHAssetCollection Count 0?为什么 PHAssetCollection 计数为 0? 【发布时间】:2014-10-27 21:50:12 【问题描述】:我正在尝试讨论 ios 8 的照片编辑功能的新照片功能。他们的文档非常稀少,因此我希望您能就可能发生的事情提供一些意见。
我正在尝试获取用户保存的所有图像。我正在提取,但它一直告诉我结果大小为 0。它还会发出一个奇怪的错误
func initController()
_userAlbums = PHCollectionList.fetchTopLevelUserCollectionsWithOptions(nil)//GET PERMISSION BEFORE DOING THIS
println("Albums count is \(_userAlbums.count)") //error when printing this
打印出来
2014-10-27 17:43:50.254 appiOS[4854:732084] [PLLogging] ***** Error: logging directory does not exist
/var/mobile/Library/Logs/CrashReporter/DiagnosticLogs/
Albums count is 0
我使用的 iPad 上至少有 100 张图片。知道我做错了什么吗?
更新:
使用
_userAlbums = PHAsset.fetchAssetsWithOptions(nil)
作品
【问题讨论】:
fetchTopLevelUserCollectionsWithOptions
不是 PHCollectionList 方法。它是一种 PHCollection 方法。所以你已经在和错误的班级说话了。
另外,您的应用程序似乎因其他原因而崩溃。如果我是你,我会先研究为什么那会在继续之前。
它实际上并没有崩溃,它只是在我尝试打印 PHCollection 对象时显示该日志
但你必须问问自己为什么会这样。当我在我的机器上运行您的代码时,我没有收到该消息。所以真的,我认为你应该停下来担心一下。可能 Xcode 没有正确安装。
我下载了一个示例项目,当我打印出该对象时,它也显示了日志错误。所以你也许我确实需要重新安装
【参考方案1】:
我使用的 iPad 上至少有 100 张图片。知道我做错了什么吗?
你没有做错任何事。不过,你的期望似乎有点不合时宜。 “至少有 100 张图像”这一说法似乎表明了一种更深层次的误解,因为毕竟PHCollectionList.fetchTopLevelUserCollectionsWithOptions
与图像无关。它与,呃,***用户集合有关。显然你的设备没有这些。
但现在请转到 iPad 上的“照片”应用并制作一些相册。 那些是***用户收藏!然后再次运行您的应用程序。假设您已被授予访问照片库的权限,现在您的日志记录将导致一个大于 0 的数字。
【讨论】:
以上是关于为啥 PHAssetCollection 计数为 0?的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHFetchOptions.predicate 从 PHAssetCollection 获取 PHAsset 的问题
何时使用 PHAsset、PHCollection、PHAssetCollection 和 PHCollectionList