ios 自制Framework 获取指定bundle并读取里面的资源

这篇具有很好参考价值的文章主要介绍了ios 自制Framework 获取指定bundle并读取里面的资源。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文地址:https://zhanglei.blog.csdn.net/article/details/121673288

目录
  • 一、前言
  • 二、访问应用资源
  • 三、Framework中的资源存放
  • 四、访问Framework中指定的bundle
  • 五、访问bundle中的资源
  • 六、建议Framework与bundle分开存放

一、前言

应用中某些模块需要组件化,组件化后的工程最后会做二进制化处理,打包成.framework文件。 今天简单聊一下在主工程或其他组件中是如何访问自制组件.framework关联的bundle资源文件。

二、访问应用资源

我们知道苹果应用是基于沙盒机制, 打包生成.ipa后的资源会被放到沙盒的根目录下。通常在主工程中我们是这样访问资源的:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"];

没错,我们访问主工程下的资源使用的是

NSBundle *mainBundle =  [NSBundle mainBundle];

但如果将自制framework中的资源单独放到framework中打包时, framework中的代码在访问时则不能再使用上面的代码获取资源。

三、Framework中的资源存放

图片是应用中最常用的资源了, 在主工程下我们一般会把图片资源放到Asset文件束里面。 但在自制的Framework中我们如何来管理这些资源呢 ?

通常的做法是自制一个framework用到的.bundle文件。 操作步骤一般是:

  • 创建一个文件目录
  • 将资源文件放到该目录下
  • 重命名文件目录时添加.bundle的扩展名

这时系统会弹出一个提示:
ios 自制Framework 获取指定bundle并读取里面的资源
点击“添加”按钮,就可以转成.bundle文件束。再将此文件拖动到framework工程中即可。

四、访问Framework中指定的bundle

假设自制Framework中存在一个MyProject.bundle文件,并读取此文件中的plist 资源:

- (void)loadPlistPath:(NSString *)path {
    NSBundle *bundle = [NSBundle bundleWithPath:[[NSBundle bundleForClass:[self class]] pathForResource:@"MyProject" ofType:@"bundle"]];
    NSString *plistPath = [bundle pathForResource:@"fileName" ofType:@"fileType"];
}

五、访问bundle中的资源

六、建议Framework与bundle分开存放

更多内容详见:https://zhanglei.blog.csdn.net/article/details/121673288文章来源地址https://www.toymoban.com/news/detail-630260.html

到了这里,关于ios 自制Framework 获取指定bundle并读取里面的资源的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理

    目录 Unity Android 之 读取下载获取移动端 sdcard 路径下的指定文件夹的所有图片的几种方式的简单整理 一、简单介绍 二、实现原理 三、注意事项 四、简单实现步骤 五、关键代码 附录: 一、不同平台使用宏区分路径加载 二、Unity3D中的资源路径 三、Unity3D各平台路径(包括手

    2024年01月19日
    浏览(79)
  • Linux文件里面查找指定内容的命令详解

    公众号请关注\\\"果酱桑\\\", 一起学习,一起进步! 目录 1. grep命令 2. find命令 3. ack命令 4. ag命令 5. ripgrep命令 6. 总结 在Linux系统中,我们经常需要在文件中查找特定的内容。这个过程可能会非常繁琐,但是Linux提供了很多工具来帮助我们完成这个任务。在本篇文章中,我们将介绍一

    2024年02月09日
    浏览(57)
  • iOS:解决Could not find a storyboard named ‘LaunchScreen.storyboard‘ in bundle NSBundle

    打开项目的:HBuilder-uniPlugin-Info.plist 删除Launch screen interface file base name 然后看图,清空掉之前的LaunchScreen.storyboard东西  再运行就可以了,我也是改自定基座出的问题略

    2024年02月12日
    浏览(32)
  • 修改framework层资源文件

    layout 路径: lagvm/LINUX/android/vendor/chinatsp/overlay/frameworks/base/core/res/res/ 在该路径下新增一个layout文件夹,在其中新增layout文件 lagvm/LINUX/android/ 目录下执行 make update-api lagvm/LINUX/android/ 目录下执行 make framework-res 将编译出的framework-res.apk 推入(push) 车机 color 路径: lagvm/LINUX/androi

    2023年04月20日
    浏览(40)
  • 添加资源到android源码中-修改framework层

    编译带有资源的jar包,需要更改frameworks层,方法如下: 一.增加png类型的图片资源 1.将appupdate模块所有用到的png格式图片拷贝到framework/base/core/res/res/drawable-mdpi里。但是要确保没有与原生的没有重名文件。 2.在framework/base/core/res/res/values/public.xml文件里增加对这些图片的声明。

    2024年02月16日
    浏览(52)
  • .NET Framework 工具 Resgen.exe(资源文件生成器)

    在命令窗口输入以下指令 提示时继续输入 您可以选择重新生成解决方案,VS会自动执行Resgen.exe 将文本(.txt 或 .restext)文件和基于 XML 的资源格式 (.resx) 文件转换为公共语言运行时二进制 (.resources) 文件,后者可嵌入到运行时二进制可执行文件或附属程序集中。 有关详细信息

    2024年02月05日
    浏览(77)
  • C# 读取带CheckBox复选框控件的表格-并集成到Windows Service里面

    最近的项目要求读取xls文件内的单元格,并且单元格旁边会有复选框标识类型。 搜了下只有java的POI有例子,NOPI看项目文档好像是没有实现读取控件的功能。 java实现 POI  POI如何解析出excel 中复选框是否被选中 https://blog.csdn.net/qq_29832217/article/details/104413475  C#导出 Excel 时,

    2024年02月14日
    浏览(87)
  • Jenkins 参数动态获取目录里面的内容

    Jenkins 参数动态获取目录里面的内容 假如我们想把一个目录下面的tar.gz文件作为jenkins参数,这个目录会实时更新,每次运行job的时候需要把目录里面的文件作为输入,这时候我们可以使用jenkins自带的Active Choices Parameter参数 在参数中写入一下代码

    2024年02月06日
    浏览(37)
  • 使用android studio编译app到自己的手机上运行,却读取不了手机里面的图片

    问题描述: 使用android studio编译app到自己的手机上运行,却读取不了手机里面的图片 问题分析: 这个是由于这个app没有申请手机端的 媒体文件访问权限,所以读取不了 解决:(我的是Android 10,新版本可能会有不同) 查看AndroidManifest.xml这个文件,发现原来只有permission.CAM

    2024年01月17日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包