[CocoaPods]podspec文件中的resource和resource_bundle

相信基本上所有的iOS开发同学针对于CocoaPods都不陌生。即便没有用过,也是久闻大名如雷贯耳。作为Objective-C和Swift中非常流行的依赖管理工具,它拥有超过10000个公有程序库,通过一份Podfile文件和pod install命令就能帮助开发者方便的管理工程依赖。

随着组件化越来越火热,大家都开始介入研究。组件化就免不了通过CocoaPods创建自己的私有代码库。而针对于一些业务模块,不光有代码,还有一些其他的资源,如图片、音视频等等。那么,下面就介绍一下如何给Pod库添加资源文件。

在CocoaPods中,官方提供了两汇总资源文件的引用方式——resourceresource_bundles

添加资源文件的字段

resources

官方解释:一系列待复制到目标工程中的资源文件。

使用方法:

指定一个bundle为资源文件
spec.resource = 'Resources/HockeySDK.bundle'
指定多个目录下的不同文件为资源文件
spec.resources = ['Images/*.png', 'Sounds/*']

(注意一个和多个的区别,多个在属性resource后面加s)

官方提示:如果构建静态库Pod时,强烈推荐使用resource_bundles来指定资源包,因为可以避免名称冲突。

resource_bundles

官方解释:允许定义当前Pod库的资源包的名称和文件。使用了hash,其中key表示包的名称,value是对应应包含的文件。key的命名至少应该包含Pod的名称,以最大限度的减少命名冲突的可能性。

使用方法:

指定一个目录下的所有png图片为一个资源包
spec.ios.resource_bundle = { 'MapBox' => 'MapView/Map/Resources/*.png' }
指定多个资源包
spec.resource_bundles = {
    'MapBox' => ['MapView/Map/Resources/*.png'],
    'OtherResources' => ['MapView/Map/OtherResources/*.png']
  }

(注意一个和多个的区别,多个在属性resource_bundle后面加s)

接下来我们来测试一下,为什么resource会容易产生命名冲突。

通过resources、resource_bundles直接管理资源文件

创建一个私有pod,里面分别resource和resource_bundles字段。

Pod::Spec.new do |s|
  s.name         = 
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Resource Bundle是一个用于存储与特定区域设置(Locale)相关的资源信息的集合。它是通过头文件ures.h的UResourceBundle结构体来表示的。每个Resource Bundle文件包含了多个字符串类型的资源项,每个项都由关键字和对应的翻译后的数据组成。一般来说,每种区域设置需要一个对应的Resource Bundle文件。在Intellij IDEAResource Bundle文件可以以.properties或者XML格式存在。创建Resource Bundle文件时,可以通过勾选User XML-based properties files来选择创建XML格式的属性文件。同时,还可以选择已存在的项目区域和添加新的区域。总之,Resource Bundle是一个用于管理区域设置相关资源信息的重要概念。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [icu4 res编译](https://blog.csdn.net/zxplove/article/details/5811132)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Intellij IDEA Resource Bundle](https://blog.csdn.net/weixin_34186950/article/details/88751212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值