多架构合并

作者: iOS小洁 | 来源:发表于2022-12-17 20:31 被阅读0次

    多架构合并

    1、build生成模拟器包xcarchive

    xcodebuild archive -project 'SYTimer.xcodeproj' \
    -scheme 'SYTimer' \
    -configuration Release \
    -destination 'generic/platform=iOS Simulator' \
    -archivePath '../archives/SYTimer.framework-iphonesimulator.xcarchive' \
    SKIP_INSTALL=NO
    

    file命令查看可执行文件架构

    file ../archives/SYTimer.framework-iphoneos.xcarchive/Products/Library/Frameworks/SYTimer.framework/SYTimer
    
    //  Mach-O 64-bit dynamically linked shared library arm64
    

    2、打包生成iOS包

    xcodebuild archive -project 'SYTimer.xcodeproj' \
    -scheme 'SYTimer' \
    -configuration Release \
    -destination 'generic/platform=iOS' \
    -archivePath '../archives/SYTimer.framework-iphoneos.xcarchive' \
    SKIP_INSTALL=NO
    

    file命令查看可执行文件架构

    file ../archives/SYTimer.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/SYTimer.framework/SYTimer
    
    // Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64:Mach-O 64-bit dynamically linked shared library arm64]
    

    3、从模拟器包中分离出x86-64

    lipo -output SYTimer-x86_64 -extract x86_64 ../archives/SYTimer.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/SYTimer.framework/SYTimer
    

    4、合并SYTimer-x86_64 和 iOS包(arm64)

    lipo -output SYTimer -create ../archives/SYTimer.framework-iphoneos.xcarchive/Products/Library/Frameworks/SYTimer.framework/SYTimer  SYTimer-x86_64
    

    合并xcframework

    Xcframework是一个可以更方便表示一个多平台和架构的分发二进制库文件

    首先生成模拟器包,iOS包,步骤同上1、2

    然后执行命令

    xcodebuild -create-xcframework \
    -framework '../archives/SYTimer.framework-iphoneos.xcarchive/Products/Library/Frameworks/SYTimer.framework' \
    -framework '../archives/SYTimer.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/SYTimer.framework' \
    -output 'SYTimer.xcframework'
    

    相关文章

      网友评论

        本文标题:多架构合并

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