iOS

将文件打包为framework

2022-04-21  本文已影响0人  菠萝吹雪xs

新建一个framework工程


image.png

依赖的三方库最好用pod管理,避免和用户的库重复



然后把要打包的文件拖到该工程中
image.png

然后按照以下配置


image.png
image.png
image.png
image.png
在默认生成的.h文件中添加引用,如果不写的话,framework也能用,但是在引用文件后会有警告
image.png
image.png
选择真机
image.png

运行成功以后,在product目录中可以找到framework,然后在放大中显示出来,拖到新的项目中使用了


image.png

另外如果有图片,可以新建一个bundle文件:new file,然后把图片都拖到这个bundle里面


image.png

编译成功后,可以在framework里面看到这个bundle文件,然后拖到新的工程里面


image.png
在新的工程这样使用:
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"Pictures" ofType:@"bundle"];        
NSString *imgPath = [bundlePath stringByAppendingPathComponent:@"tip_01.png"];
UIImage *img = [UIImage imageWithContentsOfFile:imgPath];

如果想打包模拟器的framework,编译的时候就选择模拟器


image.png

在~/Library/Developer/Xcode/DerivedData/XSNFCFramework-giskbnvydzietphawehylobbaufl/Build/Products的陌路下可以看到真机和模拟器的文件


image.png

因为真机和模拟器打出来的包不能互用,如果像真机和模拟器都能用的话, 可以进行合并。
先各自查看一下架构
lipo -info 文件路径

image.png
image.png
如果有重复的话,合并就会失败,在这里加上重复的架构名称
image.png
或者lipo 文件名 -remove arm64 -output 输出名称
然后编译出来,再进行合并sudo lipo -create 真机路径 模拟器路径 -output 输出路径/输出名称
然后把合并后的文件,替换一下framework里面的文件(真机模拟器都行,反正是你要用的那个)。
上一篇下一篇

猜你喜欢

热点阅读