美文网首页
制作静态库

制作静态库

作者: 奋斗吧程序员 | 来源:发表于2023-12-06 19:02 被阅读0次

    静态库:.a格式  .framework格式

    制作工具:Xcode

    示例:模拟器设备

    制作后的库包含文件:二进制文件+头文件+其他资源文件(图片资源等)

    一、.a 静态库的制作

    1.创建Static Library项目

    File-New-Project- iOS-Framewotk&Library-Static Library-自定义静态库名

    创建任意文件或者添加已有的文件到项目

    2.编译项目(生成静态库)

    Product- Build(快捷键command+B),Products文件下的红色文件会变黑(旧版的Xcode会显示这个文件)

    3.静态库路径

    路径1:Products文件下的黑色文件右击-show in finder-右击包名-显示包内容

    路径2:新版Xcode没有Products文件夹,可通过以下路径找到静态库

    /Library/Developer/Xcode/DerivedData/StaticTool-bxkcwjehhbvnzvcvurqibktpqdmc/Build/Products/Debug-iphonesimulator

    ⚠️StaticTool-bxkcwjehhbvnzvcvurqibktpqdmc  这是项目的别名。建议在第二步之前先删除DerivedData文件下的内容,以防项目名多不好查找

    4.静态库在目标项目中的使用

    1.新建一个文件夹,把.a文件和头文件和资源文件放一起,添加入到目标项目

    2.无须别的配置,导入头文件,可直接使用

    二、.framework静态库的制作

    1.创建Framework项目

    File-New-Project- iOS-Framewotk&Library-Framework-自定义库名

    创建任意文件或者添加已有的文件到项目

    2.修改库为静态库

    默认创建的Framework库是动态库,需手动改为静态库

    Build Setting- Linking-Mach-O Type-选择Static Library

    3.对外公开的头文件进行暴露

    Build Phases-Headers

    把想暴露的头文件从Project模块下拖到Public模块下

    4.编译项目(生成静态库)

    Product- Build(快捷键command+B),Products文件下的红色文件会变黑(旧版的Xcode会显示这个文件)

    5.静态库路径

    路径1:Products文件下的黑色文件右击-show in finder-右击包名-显示包内容

    路径2:新版Xcode没有Products文件夹,可通过以下路径找到静态库

    /Library/Developer/Xcode/DerivedData/StaticTool-bxkcwjehhbvnzvcvurqibktpqdmc/Build/Products/Debug-iphonesimulator

    ⚠️StaticTool-bxkcwjehhbvnzvcvurqibktpqdmc  这是项目的别名。建议在第二步之前先删除DerivedData文件下的内容,以防项目名多不好查找。

    6.静态库在目标项目中的使用

    1.把.framework添加入到目标项目

    2.无须别的配置,导入头文件,可直接使用

    三、合并静态库

    静态库有四种模式:Debug模拟器,Debug真机,Release模拟器,Release真机

    /Library/Developer/Xcode/DerivedData/StaticTool-bxkcwjehhbvnzvcvurqibktpqdmc/Build/Products/Debug-iphonesimulator

    /Library/Developer/Xcode/DerivedData/StaticTool-bxkcwjehhbvnzvcvurqibktpqdmc/Build/Products/Debug-iphoneos

    /Library/Developer/Xcode/DerivedData/StaticTool-bxkcwjehhbvnzvcvurqibktpqdmc/Build/Products/Release-iphonesimulator

    /Library/Developer/Xcode/DerivedData/StaticTool-bxkcwjehhbvnzvcvurqibktpqdmc/Build/Products/Release-iphoneos

    使用终端合并,合并命令

    1.cd 存放合并后的库的文件路径

    2.lipo - create  xxx.a  xxx.a -output xxx.a

    lipo - create 模拟器环境下的.a路径  真机环境下的.a路径 -output 合并后的(自定义).a库名

    合并后的库既可以在模拟器上运行,也可以在真机上运行

    相关文章

      网友评论

          本文标题:制作静态库

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