Ner*_*ken 4 macos photo objective-c media-library photosframework
我正在尝试遍历OS X上用户的照片库。在iOS上,我将使用Photos框架,但是显然在OS X上不可用,而我们应该使用Media Library框架。但是,尽管我可以使用上面链接的代码来访问MLMediaSource对象,但我很难确定如何遍历照片资产。
该媒体库框架文档提到了一个mediaObjectForIdentifier:方法,这听起来前途,但并不表明排序标识符应该用什么。我对iOS有相当的经验,但是在OS X上是完整的n00b,所以我感到有些迷茫。
如果我只是想遍历用户库,NSLog对每张照片进行处理,那我该怎么办?是使用Media Library Framework,还是使用其他框架(只要它适用于当前的Photos库)?
这个框架并不难使用,但是很繁琐,因为它异步/延迟加载属性,并且KVO是唯一希望收到有关异步完成的通知的人。
如果要迭代照片,则无需事先知道标识符。
创建媒体库:
self.library = [[MLMediaLibrary alloc] initWithOptions:options];
为添加一个KVO观察器mediaSources。访问mediaSources(如果非零),请转到下一步,否则在KVO观察者触发时转到下一步。
在下一步中,迭代源,在上添加一个KVO观察者rootMediaGroup,并访问rootMediaGroup每个源。如果非零,请立即调用您的迭代器,否则从KVO通知处理程序中调用它。
对于每个rootMediaGroup,遵循与上述相同的策略,但对于mediaObjects。媒体对象是您最终追求的东西。
| 归档时间: |
|
| 查看次数: |
567 次 |
| 最近记录: |