制作Framework && 自动化
Framework的制作
一、制作过程.
1.以SDWebImage为例
-
创建framework工程
-
修改Build Settings中配置
- 下载好最新的SD,地址:https://github.com/rs/SDWebImage,拷贝源码到此工程;或者直接使用SD现有的工程,修改以上配置信息;然后修改为Release,如下图:
- 点击Edit Scheme :
- 修改Build Configuration:
- 编译 cmd+b ,这里需要编译两次一次是真机设备,一次是模拟器;编译完成后,打开下图SDWebImage.framework所在的目录:
- 打开终端:cd 到Products所在的目录(可以直接将Products拖到终端):
- 如下:
- 下面通过命令合并真机设备和模拟器framework:
- 将新生成的framework替换Release-iphoneos或者Release-iphonesimulator下面的:
- 将替换完的SDWebImage.framework拷贝到项目中如图:
- 下面就可以修改项目中SDWebImage.podspec的引入方式为s.ios.vendored_frameworks = ‘Frameworks/SDWebImage.framework’;完事!!!
2.自动化
- 分别编译模拟器和真机,自动执行脚本生成framework
首先添加Run Script
- 在工程目录下添加文件夹ToolScripts,把脚本createFramework.sh放进去;
- 先编译模拟器,再编译真机;会看到如下弹窗:合并完成。
二.遇到的问题
- 编译到最后出现个弹窗:
这是因为自己制作的framwork和项目中的bundle不一致造成的,在制作之前,先修改SDWebImage的和项目中的保持一致,再重复以上步骤,最后cmd+shift+k清理一下缓存即可。