1 新建工程,选择Framework
本示例中将AFNetWorking打包成库,工程名为AFNetWorking。会自动生成AFNetWorking.h文件,这个文件就是用来暴露头文件给外部工程使用
图12 搜索栏搜索对应关键词,修改配置为如图中样式
图2 图3 图4 图53 暴露头文件,在h文件和Build Phases中暴露需要给外界使用的头文件:
图6 图7图4和图5开放的头文件是一样的,在h文件中引入头文件必须采用图5的方式。
4 打包
首先生成一个类型为Aggregate类型的TARGETS.
点击+,选择以下界面选项:
图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完结撒花
网友评论