iOS锦囊

创建frameWork工程和编译使用

2018-12-06  本文已影响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直接拖到工程使用就好

上一篇下一篇

猜你喜欢

热点阅读