Framework支持 x86_64 i386 arm7 arm64

本文介绍了一个Shell脚本,用于解决自制Framework在iOS模拟器及真实设备上可能遇到的不兼容问题。通过创建不同架构(ARM, i386, x86_64)的文件夹并使用lipo工具进行处理,确保了Framework能在多种环境中正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个shell脚本解决自制framework在模拟器活着真机下可能不支持的问题

if ["${ACTION}"="build"];then
    #INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.framework
    DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework
    SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-    iphonesimulator/${PROJECT_NAME}.framework
    TEMP=${BUILD_ROOT}/TEMP
    ARM=$TEMP/ARM
    I386=$TEMP/I386
    X86=$TEMP/X86
    if[ ! -a ${BUILD_ROOT}/Document ];then
        touch ${BUILD_ROOT}/Document
    fi
    
    if[ ! -d $TEMP ];then
        mkdir -p"${TEMP}"
        mkdir -p"${ARM}"
        mkdir -p"${I386}"
        mkdir -p"${X86}"
    fi

    if [ -d $DEVICE_DIR ];then
        cp -R $DEVICE_DIR/${PROJECT_NAME} $ARM
        if[ ! -f ${BUILD_ROOT}/arm ];then
            touch ${BUILD_ROOT}/arm
        fi

        cp -R ${BUILD_ROOT}/${CONFIGURATION}-iphoneos/ $TEMP

    else
        if[ -f ${BUILD_ROOT}/arm ];then
            rm ${BUILD_ROOT}/arm
        fi
    fi

    if[ -d"${SIMULATOR_DIR}"];then
        lipo -info $SIMULATOR_DIR/${PROJECT_NAME} > ${BUILD_ROOT}/Document
        grep"is architecture: i386"${BUILD_ROOT}/Document
        if[ $? -eq0];then
            cp -R $SIMULATOR_DIR/${PROJECT_NAME} $I386
            if[ ! -f ${BUILD_ROOT}/i386 ];then
            touch ${BUILD_ROOT}/i386
        fi
    fi

    grep"is architecture: x86_64"${BUILD_ROOT}/Document

    if[ $? -eq0];then
        cp -R $SIMULATOR_DIR/${PROJECT_NAME} $X86
        if[ ! -f ${BUILD_ROOT}/x86 ];then
            touch ${BUILD_ROOT}/x86
        fi
    fi
else
    if[ -f ${BUILD_ROOT}/i386 ];then
        rm ${BUILD_ROOT}/i386
    fi

    if[ -f ${BUILD_ROOT}/x86 ];then
        rm ${BUILD_ROOT}/x86
    fi
fi

if[ -f ${BUILD_ROOT}/arm ] && [ -f ${BUILD_ROOT}/i386 ] && [ -f ${BUILD_ROOT}/x86 ];then
    lipo -create $ARM/${PROJECT_NAME} $I386/${PROJECT_NAME} $X86/${PROJECT_NAME} -output $TEMP/${PROJECT_NAME}.framework/${PROJECT_NAME}
    open $TEMP
fi

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值