我正在将我们的应用程序转换为使用 iOS8 的照片框架,ALAsset 框架显然是 iOS8 下的二等公民。
我遇到的一个问题是我们的架构确实需要一个 NSURL 来表示媒体在“磁盘”上的位置。我们用它来将媒体上传到我们的服务器以进行进一步处理。
使用 ALAsset 这很容易:
ALAssetRepresentation *rep = [asset defaultRepresentation];
self.originalVideo = rep.url;
但我在 PHAsset 中没有看到这种能力。我想我可以打电话:
imageManager.requestImageDataForAsset
然后将其写入文件系统中的临时位置,但这看起来非常重量级和浪费,更不用说可能很慢了。
有没有办法得到这个或者我是否要重构我的应用程序的更多部分以仅使用 iOS7 的 NSURL 和 iOS8 的其他方法?
如果您使用[imageManager
requestAVAssetForVideo
...],它将返回一个AVAsset
。 AVAsset 实际上是一个AVURLAsset
,所以如果你投射它,你可以访问它 -url
财产。
我不确定您是否可以从中创建新资产,但它确实为您提供了位置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)