美文网首页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