美文网首页iOS
将文件打包为framework

将文件打包为framework

作者: 菠萝吹雪xs | 来源:发表于2022-04-21 14:33 被阅读0次

    新建一个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里面的文件(真机模拟器都行,反正是你要用的那个)。

    相关文章

      网友评论

        本文标题:将文件打包为framework

        本文链接:https://www.haomeiwen.com/subject/ctliertx.html