获取 XCAsset 中 mp4, mp3 等非图片资源

原地址: 个人博客 -- 获取 XCAsset 中 mp4, mp3 等非图片资源

场景

Assets.xcasset 添加 Data Set 内容, 如 .mp3, .mp4 等非图片内容时, 通过 NSBundle 无法获取文件路径, -[NSBundle pathForResource:ofType:] 方法返回为 nil.

目标

不改变文件存放位置的前提下, 获取文件的路径或二进制内容.

前置

Assets.xcassets 内选择 + -> 选择 New Data Set, 将 demo.mp4 添加到指定位置, Set 的名字重名为 test.

方法

通过 NSDataAsset 类来获取 xcasset 文件夹内的文件:

// xcasset 内包含 test.mp4 Data Set
NSString *fileName = @"test";
NSDataAsset *dataAsset = [[NSDataAsset alloc] initWithName:fileName];
[dataAsset.data writeToFile:/* save file path */ atomically:YES]
NSURL *filePath = [NSURL fileURLWithPath:/* save file path */];

至此, 就可以获取 xcasset 中非图片资源了

注意

NSDataAssetiOS 9.0 及以上 才可使用的方法

引用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容