删除静态库中的指定macho文件

=begin
 删除静态库中的指定macho文件
 @param1 要删除macho文件的静态库
 @param2 要删除的macho合集
 用法: ruby iOSDeleteMachoFile.rb IJKMediaFramework mutiple.md
=end


require 'fileutils'

# 所有指令集
$allArchs = ["armv7", "arm64", "i386", "x86_64"]

# 获取静态库所有支持的指令集(arm64,armv7)
def getArchitectures(library)
    info = `lipo -info #{library}`
    return info.split(" ") & $allArchs
end

# 提取所有指令集架构
def extractAllArchitectures(library, archs)
    archs.each do |arch|
        `lipo #{library} -thin #{arch} -output #{arch}` # 提取一个架构
    end
end

# 删除macho文件
def deleteMacho(arch, machos)
    machos.each do |macho|
        `ar -d -sv #{arch} #{macho}` # 直接删除arch中的macho文件
    end
end

# 将原库重命名
def libraryRename(library)
    if library.scan(/\.[^\.]+$/)[0]
        extension = library.scan(/\.[^\.]+$/)[0]
        newFilename = String.new<

下载代码

你可能感兴趣的:(删除静态库中的指定macho文件)