iOS 打包静态Framework

1 新建工程,选择Framework

本示例中将AFNetWorking打包成库,工程名为AFNetWorking。会自动生成AFNetWorking.h文件,这个文件就是用来暴露头文件给外部工程使用

图1

2 搜索栏搜索对应关键词,修改配置为如图中样式


图2
图3


图4
图5




3 暴露头文件,在h文件和Build Phases中暴露需要给外界使用的头文件:


图6


图7

图4和图5开放的头文件是一样的,在h文件中引入头文件必须采用图5的方式。

4 打包

首先生成一个类型为Aggregate类型的TARGETS.


图8

点击+,选择以下界面选项:

图9

名字随便写一个就行,然后按照图中选项添加脚本


图10

将下面代码复制粘贴

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

5 运行

选中框架在真机和模拟器下分别编译(command+B)


图11

然后选择脚本target,编译,会自动弹出一个界面,里面有生成的框架,然后导入到所需要的工程中就可以了。


图12



图13完结撒花

你可能感兴趣的:(iOS 打包静态Framework)