iOS合并frameworks

目标:合并x86_64、arm64、armv7s

  1. 生成frameworks
    Xcode->Targets->Build Settings
    必做:
    Architectures设置为:$(ARCHS_STANDARD)、arm64、armv7s
    Valid Architectures设置为:arm64、armv7s、x86_64
    可选:
    Base SDK设置为:iOS
    Supported Platforms设置为:iOS
    Enable Bitcode:No
    生成:
    Device分别选择真机和模拟器,分别Bulid&Run,Xcode将生成arm版framework和simulator版framework

  2. 拆分并合并
    终端里分别对arm版framework和simulator版framework执行以下命令:
    lipo xxx.framework/xxx -thin arm64 -output xxx.framework/xxx_arm64
    lipo xxx.framework/xxx -thin armv7s -output xxx.framework/xxx_armv7s
    lipo xxx.framework/xxx -thin x86_64 -output xxx.framework/xxx_x86_64
    拆出对应指令集的子framework,再将子framework合并:
    lipo -create xxx.framework/xxx_arm64 xxx.framework/xxx_armv7s xxx.framework/xxx_x86_64 -output xxx.framework/xxx
    此时新的framework只有一个文件
    注意:
    再将arm版xxx.framework的除xxx文件意外的其他文件复制进新的framework里,并将simulator版framework里的Modules/xxx.swiftmodule里的文件复制进新的framework里的对应位置

  3. 重签名
    可选:
    新的framework使用时可能会报错,提示签名不一致,此时重新签名:
    security find-identity -v -p codesigning
    codesign -fs “iPhone Developer: xxxx (XXXX)” xxx.framework

  4. 完成
    工程里导入新的framework,分别在模拟器和真机上Build&Run,正常运行
    完美~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值