创建frameWork工程和编译使用

一、建立按工程frameWork

建立工程

创建frameWork工程和编译使用_第1张图片

配置工程

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

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

创建frameWork工程和编译使用_第2张图片

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

创建frameWork工程和编译使用_第3张图片


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

创建frameWork工程和编译使用_第4张图片

3.静态库配置:

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

4.Build Active Architecture Only: 设置为NO

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

创建frameWork工程和编译使用_第5张图片
创建frameWork工程和编译使用_第6张图片

3.编译

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

指令如下:

创建frameWork工程和编译使用_第7张图片

方法二:使用脚本

先创建个交叉编译的target

创建frameWork工程和编译使用_第8张图片

添加脚本

创建frameWork工程和编译使用_第9张图片

备注:这个脚本只是合成,所以你必须先选择你的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直接拖到工程使用就好

创建frameWork工程和编译使用_第10张图片

你可能感兴趣的:(创建frameWork工程和编译使用)