zoukankan      html  css  js  c++  java
  • lipo命令拆分、合并iOS静态库

    针对有些第三方静态库中支持真机和模拟器多种CPU架构,比如armv6、armv7、armv7s、arm64,以及i386、x86_64。而有时候只需要使用其中的一种或者几种,比如APP打包上架的时候,就不能包含i386、x86_64的架构,这时候就可以从静态库中分离出各种架构,然后合并你所需要的。具体的举例如下:

    首先先查看一下framework中包含的结构:

    打开mac终端,cd到静态库的位置,输入命令

    lipo -info ./XXXX.framework/XXXX

    这时候会显示出该framework中所包含的架构

    Architectures in the fat file: ./XXXX.framework/XXXX are: i386 x86_64 armv7 arm64

    执行拆分的命令,这样就把armv7、arm64架构从静态库中剥离出来了,同理其他的CPU结构

        lipo XXXX.framework/XXXX -thin armv7 -output XXXX_armv7
        lipo XXXX.framework/XXXX -thin arm64 -output XXXX_arm64

    执行合并的命令,把拆分出来的xxxx_armv7、xxxx_arm64合并成命名为xxxx的静态库

    lipo -create XXXX_armv7 XXXX_arm64 -output XXXX

    具体的拆分合并命令如下

        mkdir ./bak
        cp -r XXXX.framework ./bak
        lipo XXXX.framework/XXXX -thin armv7 -output XXXX_armv7
        lipo XXXX.framework/XXXX -thin arm64 -output XXXX_arm64
        lipo -create XXXX_armv7 XXXX_arm64 -output XXXX
        mv XXXX XXXX.framework/

    这样就得到了剔除了i386、x86_64的framework,避免了上传ipa包时出现的ERROR ITMS-90087: "Unsupported Architectures错误。
    ————————————————
    版权声明:本文为CSDN博主「DaiveB」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/yepiaouang/article/details/79353377

  • 相关阅读:
    工具网页地址
    invalid comparison: java.util.ArrayList and java.lang.String——bug解决办法
    打印csdn博客文章内容
    git 更新远程分支列表
    idea 配置 SpringBoot 热启动详解,和热启动失效解决方案
    MacOS下安装RabbitMQ
    Spring Boot Admin
    Navicat Premium Mac 12 破解
    sql查询不重复数据
    org.apache.commons.lang3 jar的使用 ArrayUtils
  • 原文地址:https://www.cnblogs.com/YZFHKMS-X/p/14636668.html
Copyright © 2011-2022 走看看