iOS架构-静态库.framework之资源文件打包bundle(6)
iOS架构-静态库.framework手动打包及脚本化打包(5)中介绍了.framework的脚本化打包,虽然在iOS架构-静态库.a打包之资源文件打包成bundle(4)中已经演示过,其实是一样的。但在这里还是补充一下.framework资源文件的使用。以免部分读者心里不甚明白。
1.添加图片资源和带xib的测试类:MyViewController(从iOS架构-静态库.a打包之资源文件打包成bundle(4)的例子的复制来的)
同时也把CRRobotBundleManager 类复制过来,目录如下
3.资源文件的Target Membership只选择bundle
4. 修改代码:将copy 过来的代码中
VideoPlayerLibBundle 替换为 MySDKResource
//重写要加载的view的init方法
- (instancetype)init {NSBundle *bundle = [NSBundle bundleWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MySDKResource.bundle"]];self = [super initWithNibName:@"MyViewController" bundle:bundle];if (self) {// Custom initialization}return self;
}- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view from its nib.// 方法一self.testImageView.image = [UIImage imageNamed:@"MySDKResource.bundle/cr_add_hidden.png"];// 方法二// NSString *pic1Path = [CRRobotBundleManager getFilePathFromBundle:@"cr_add_hidden.png"];// self.testImageView.image = [UIImage imageWithContentsOfFile:pic1Path];
}
+ (NSBundle *)getBundle {return [NSBundle bundleWithPath: [[NSBundle mainBundle] pathForResource:@"MySDKResource" ofType: @"bundle"]];
}
- 选中 Scheme -->MySDKResource.bundle 编译
- 编译后的MySDKResource.bundle 的位置
- 在脚本中将MySDKResource.bundle 拷贝到 MySDK 文件中
在脚本 Script.sh lipo -create 步骤上面添加如下代码
#bundle工程名
bundle_name=${project_name}Resource
#图片资源资源
BUNDLE_DIR_INCLUDE=${build_DIR}/${development_mode}-iphoneos/${bundle_name}.bundle
echo "图片资源资源路径=${BUNDLE_DIR_INCLUDE}"
#将图片资源copy到目标文件夹
cp -R "${BUNDLE_DIR_INCLUDE}" "${INSTALL_DIR}"
- 然后重新执行脚本即可得到目标文件夹
- 导入demo使用
- 跳转加载 framework 使用bundle 的资源效果如下:
终于加载出来的。
写在最后:静态库.framework 以及 资源bundle 手动、脚本自动打包以及使用到此结束了。
接下来课题还没准备好,不过还是在架构,静态库或者动态库,以及脚本、cocoapods打包库 以及依赖第三方库方面继续研究!
iOS架构-静态库.framework之资源文件打包bundle(6)相关推荐
- iOS架构-静态库.framework之依赖第三方库(7)
需求分析: 把自己的能力封装成静态库提供给客户使用,但是有些工作市场上已经有很好的公开的代码,或者成本很低的解决方案,我们就可以使用别人公开的.或者低成本采购的技术来为我们服务.制作静态库也是 ...
- iOS架构-静态库.framework手动打包及脚本化打包(5)
引用一张博客的图片来理解下基本知识(http://www.cnblogs.com/oc-bowen/p/7478461.html) 我们可以看出.a的封装和.framework的封装差不多,也有模拟器 ...
- iOS架构-静态库.framework脚本化打包补充(5)
静态库.framework脚本化打包打包已经在iOS架构-静态库.framework手动打包及脚本化打包(5)中讲过.这里补充是通过Xcode 配置Aggregate自动执行脚本打包Framework ...
- iOS架构-静态库.a的脚本化打包及使用(3)
接着iOS架构-静态库.a的打包及使用(一)继续研究静态库.a的打包 需求背景: 手动编译静态库工程是会生成模拟器和真机两个不同的.a包 终端合成 $:lipo -create 真机.a路径 模拟器. ...
- iOS架构-静态库.framework(引用第三方SDK、开源库、资源包)(9)
前面介绍了 静态库.a依赖第三方静态库.a的制作 静态库.framework之依赖第三方库(Cocoapods进行管理) 今天课题: 静态库.framework(引用第三方SDK.framework. ...
- iOS架构-静态库.a打包之资源文件打包成bundle(4)
iOS架构-静态库.a的打包及使用(一) iOS架构-静态库.a的脚本化打包及使用(二) 资源文件主要包括:xib.图片以及其他文件资源(json.string等).这里主要介绍 xib.图片.其他的 ...
- iOS架构-静态库.a之依赖第三方静态库.a的制作(8)
上一篇讲的是静态库.framework 依赖第三方库,是通过Cocoapod 提供的第三方库.而有时我们会依赖第三方.a 或者.framework 的.那么怎么样来制作依赖第三方.a 或者.frame ...
- iOS架构-静态库.a 和.framework的区别(0)
原文网址:https://my.oschina.net/kaqijiang/blog/649632 一.什么是库? 库是共享程序代码的方式. 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存 ...
- iOS架构-静态库.a编译时自动导出.h头文件(24)
在使用Xcode成功编译一个静态库时,在对应的输出目录下有一个include目录,但是其中没有相关的.h头文件.由于.h文件和 .cpp文件是在同一个目录下,再加上文件数量较多,如果手动的将.h文件导 ...
最新文章
- WinDbg用法详解
- MinIO GCS 网关 ​​​​​​​
- storm 出现一次运行结果,后续不在出现的原因
- 在IDEA中解决jar包冲突的神操作-必看,秒杀市面方法
- VMware虚拟机与Windows文件共享
- ubuntu搭建简单http服务器
- cad多线段长度计算总和_CAD小白必备:1秒教会你CAD画线,再也不为画线烦恼
- javascript实现图片轮播_Node.js实现将文字与图片合成技巧
- 火车采集器V2010免费版下载
- pcb焊接的一些技巧
- C#高级编程——C#扩展方法+接口,定义统一的搜索接口,基于Unity(三)——图文详解加源码
- 字符串的几个常用属性
- cdn perl_用perl对CDN节点日志进行统计
- Android Studio | 页面布局
- 基金经理研究所 | 从兴全合润看谢治宇的攻守道
- scanf函数、冒泡排序和不定长度数组的使用 —— malloc
- OpenStack 计算节点关机,虚拟机状态解决办法
- micro:bit 了解
- oracle ebs 单位类别 单位 单位转换,ORACLE_EBS_系统主数据管理(一).doc
- matlab学习教程,数模比赛入门速成