美文网首页iOS锦囊
创建frameWork工程和编译使用

创建frameWork工程和编译使用

作者: 片片碎 | 来源:发表于2018-12-06 17:40 被阅读0次

    一、建立按工程frameWork

    建立工程

    配置工程

    1.bitcode:想要自己的framewrok支持bitcode,需要在两个地方设置

    (如果仅仅设置bitcode为YES,那么在联机运行没问题; 在你需要打包上线时,就会出现如下的错误)

    除了添加-fembed-bitcode的方式还可以换成添加BITCODE_GENERATION_MODE

    2.Architetures:支持的CPU令集:(标准版本不支持armv7s,需要支持,自己添加,armv7s指令集来支持iPhone 5C)

    3.静态库配置:

    Mach_O Type: 选中static Library(静态库) (苹果是不支持自定义Dynamic Library)

    4.Build Active Architecture Only: 设置为NO

    二、添加功能性代码 并暴露头文件

    3.编译

    方法一:分别编译模拟器版本和真机版本然后使用指令合成

    指令如下:

    方法二:使用脚本

    先创建个交叉编译的target

    添加脚本

    备注:这个脚本只是合成,所以你必须先选择你的target编译好真机和模拟版本

    在选在这个target合成

    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

    if [ -d "${INSTALL_DIR}" ]

    then

    rm -rf "${INSTALL_DIR}"

    fi

    mkdir -p "${INSTALL_DIR}"

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

    #ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers"

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

    #open "${DEVICE_DIR}"

    #open "${SRCROOT}/Products"

    fi

    四.使用

    把编译好的framework直接拖到工程使用就好

    相关文章

      网友评论

      • 片片碎:最新的Xcode7,新建项目默认就打开了bitcode设置.所以每当遇到这个情况时候大部分人都是直接设置Xcode关闭bitcode功能,全部不生成bitcode.
        其实这是个很好用的东西 ,Bitcode是LLVM编译器的中间代码的一种编码。
        具体请看:https://www.cnblogs.com/shaoting/p/6650897.html

      本文标题:创建frameWork工程和编译使用

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