美文网首页
关于iOS打包framework的问题

关于iOS打包framework的问题

作者: 乾坤醉心尘 | 来源:发表于2017-08-07 13:38 被阅读136次

    最近,稍微看了一下iOS的打包framework,发现网上的教程都是比较老的,所以整合了一下,使用了xcode8.3给大家打包framework。

    1,使用xcode新建一个工程。选择Cocoa Touch Framework

    2,在这个新建的工程按照平时一样,创建一个示范的类:

    3,现在是配置环境的步骤了:

      3.1 首先,选择TARGETS的第一项,选择Build Phases,选择Headers,会看到有Public,Private,Projiect三项,我们要修改的是第一项Public,把我们想暴露在外面的文件拖进去,一般是拖.h文件。

    3.2 然后注意观察TARGETS中间一竖列,是不是我这里多了个MyAggregate?是的,我们第二步就是增加这个类,在这一竖列的下面的加号➕,点击,增加Aggregate

    3.3 在这个TARGETS里面,选中新建的MyAggregate里面,选中他。选择Build Phrase,增加这个New Run Script Phrase

    3.4  在黑色的框框里面,添加如下脚本。直接复制粘贴就好了

    脚本内容

    # Sets the target folders and the final framework product.

    #如果工程名称和Framework的Target名称不一样的话,要自定义FMKNAME

    #例如: FMK_NAME = "MyFramework"

    FMK_NAME=${PROJECT_NAME}

    # 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}/Products/${FMK_NAME}.framework

    # Working dir will be deleted after the framework creation.

    WRK_DIR=build

    DEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework

    SIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework

    # -configuration ${CONFIGURATION}

    # Clean and Building both architectures.

    xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos clean build

    xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator clean build

    # Cleaning the oldest.

    if [ -d "${INSTALL_DIR}" ]

    then

    rm -rf "${INSTALL_DIR}"

    fi

    mkdir -p "${INSTALL_DIR}"

    cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/"

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

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

    rm -r "${WRK_DIR}"

    open "${INSTALL_DIR}"

    3.5 完成后,直接Command + B,直接build就能自动出现做好的framework包。

    4,你是否会发生这种情况:

    很简单,你在你使用的工程中打开TARGETS:在General里面,选中Embedded Blnaries,里面点击➕号如图所示就好了。

    相关文章

      网友评论

          本文标题:关于iOS打包framework的问题

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