如何使用 PHAsset 从文件中获取 NSData

2023-11-30

我的路径有文件

file:///var/mobile/Media/DCIM/100APPLE/IMG_0197.mov

但是当我尝试这段代码时-

NSError *error;
NSData *data = [NSData dataWithContentsOfFile:assetUrl.relativePath options:NSDataReadingMappedAlways error:&error];

我除了错误什么也没有:

错误域 = NSCocoaErrorDomain 代码 = 257 “Не удалось завершить операцию。 (可可, ошибка 257)" UserInfo=0x175a61380 {NSFilePath=/var/mobile/Media/DCIM/100APPLE/IMG_0197.mov, NSUnderlyingError=0x17424e550 "Не удалось завершить операцию. 不允许操作”}

文件存在,但我无法读取它。

但同时AVPlayer正常播放视频文件。

I tried

PHFetchResult *fetchResult = [PHAsset fetchAssetsWithALAssetURLs:@[assetUrl] options:nil];

但我没有得到任何结果。


您无法访问NSURL直接,因为文件位于应用程序的沙箱之外。一些框架(例如AVPlayer) 具有例外权利并可以访问 URL。 要访问的数据PHAsset对象看看下面的方法PHImageManager:

对于图像:requestImageDataForAsset

对于视频:requestExportSessionForVideo

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 PHAsset 从文件中获取 NSData 的相关文章

随机推荐