美文网首页
framework合成脚本1

framework合成脚本1

作者: 大林宝子 | 来源:发表于2017-05-01 16:58 被阅读0次

    # Sets the target folders and the final framework product.

    FRAMEWORK_NAME=DigitalCommon

    FRAMEWORK_VERSION=1.0

    FRAMEWORK_CONFIG=Release

    # Install dir will be the final output to the framework.

    # The following line create it in the root folder of the current project.

    INSTALL_DIR=${SRCROOT}/../Digital/Frameworks/${FRAMEWORK_NAME}.framework

    # Working dir will be deleted after the framework creation.

    WORK_DIR=build

    DEVICE_DIR=${WORK_DIR}/${FRAMEWORK_CONFIG}-iphoneos/${FRAMEWORK_NAME}.framework

    SIMULATOR_DIR=${WORK_DIR}/${FRAMEWORK_CONFIG}-iphonesimulator/${FRAMEWORK_NAME}.framework

    xcodebuild -configuration "${FRAMEWORK_CONFIG}" -target "${FRAMEWORK_NAME}" -sdk iphoneos

    echo "Build simulator"

    xcodebuild -configuration "${FRAMEWORK_CONFIG}" -target "${FRAMEWORK_NAME}" -sdk iphonesimulator

    # Creates install directory if it not exits.

    if [ ! -d "${INSTALL_DIR}" ]

    then

    mkdir -p "${INSTALL_DIR}"

    fi

    # Creates headers directory if it not exits.

    if [ ! -d "${INSTALL_DIR}/Headers" ]

    then

    mkdir -p "${INSTALL_DIR}/Headers"

    fi

    # Remove all files in the headers diectory.

    for file in `ls "${INSTALL_DIR}/Headers"`

    do

    rm "${INSTALL_DIR}/Headers/${file}"

    done

    # Remove binary library file.

    rm -f ${INSTALL_DIR}/${FRAMEWORK_NAME}

    # Copies the headers files to the final product folder.

    if [ -d "${DEVICE_DIR}/Headers" ]

    then

    for file in `ls "${DEVICE_DIR}/Headers"`

    do

    cp "${DEVICE_DIR}/Headers/${file}" "${INSTALL_DIR}/Headers/${file}"

    done

    fi

    # copy nibs to bundle,then copy bundle to final folder

    BUNDLE_DIR=${DEVICE_DIR}/${FRAMEWORK_NAME}.bundle

    if [ -d "${BUNDLE_DIR}" ];then

    if ls ${DEVICE_DIR}/*.nib >/dev/null 2>&1;then

    rm -rf ${BUNDLE_DIR}/*.nib

    cp -rf ${DEVICE_DIR}/*.nib ${BUNDLE_DIR}

    fi

    rm -rf "${INSTALL_DIR}/${FRAMEWORK_NAME}.bundle"

    cp -R "${BUNDLE_DIR}" "${INSTALL_DIR}/${FRAMEWORK_NAME}.bundle"

    fi

    echo "Merge with simulator"

    # Uses the Lipo Tool to merge both binary files (i386 + armv6/armv7) into one Universal final product.

    lipo -create "${DEVICE_DIR}/${FRAMEWORK_NAME}" "${SIMULATOR_DIR}/${FRAMEWORK_NAME}" -output "${INSTALL_DIR}/${FRAMEWORK_NAME}"

    rm -r "${WORK_DIR}"

    相关文章

      网友评论

          本文标题:framework合成脚本1

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