导出动态库
静态库动态库的科普就不写了,网上很多很好的文章都有介绍
- 新建
Cocoa Touch Framework
项目 -
把原项目中的代码,图片资源copy过来,就像这样:
source.png
这里要注意一下:由于打包类库工程不是一个完整项目工程,所以并没有AppDelegate等文件,所以涉及到这些的文件要额外处理,或改代码,或适当改变功能
- 添加依赖,这里考虑到原框架的重写,所以没有用pod管理,直接把库代码拉进项目,手动添加依赖
- 完了进行编译得到framework
- 编译模拟器和真机的framework并合并之
引用
在壳项目的Embeded Binaries
中添加刚才创建的framework库后,就可以在壳项目中引用了
这里要注意一下:framework库中,引用image, xib, storyboard都是需要传递相应的bundle的, 否则会出现资源找不到问题,因为项目会默认在壳项目中找这些资源文件
let bundle = Bundle(identifier: "com.XX.XX") // framework的bundle ID
let sb = UIStoryboard(name: "XX", bundle: bundle)
let vc = sb.instantiateViewController(withIdentifier: "XXViewController") as! XXViewController
viewController.navigationController?.pushViewControlleXr(vc, animated: true)
let image = UIImage(named: "XX", in: bundle, compatibleWith: nil)
let imageView = UIImageView(image: image)
参考
静态库和动态库的制作以及Bundle资源文件的使用
IOS 完整项目制作Framework
Swift构建通用版本Framework以及Framework的使用及其注意事项
网友评论