最近公司需要,将部分功能封装为SKD供他人使用,琢磨半天终于弄出来了,记录一下
第一步、创建一个TestSDK文件夹用于放SDK源码,SDK-framework包,Demo等
屏幕快照 2018-12-06 上午10.18.54.png第二步、创建一个workspace,路径放到文件夹里面 (File->New->Workspace)
屏幕快照 2018-12-06 上午10.31.01.png 20181206103321.png第三步、创建SDK工程,选择Framework
20181205174741.jpg 20181205175055.png 20181206103632.png第二步、配置信息
Build Settings :
Build Active Architecture only - NO
mach-type - static Library
Architectures下增加armv7s
20181205175618.png 20181205175700.png第三步、创建测试数据(颜色为橙色的一个View)
20181205182310.png 20181206103854.png第四步、设置展示头文件
20181205182441.png 20181206104042.png第五步、创建脚本 (Editor->AddTarget->Cross-Platform->aggregate)
屏幕快照 2018-12-06 上午10.42.49.png 20181205182742.png 20181205182830.png 18_31_00__12_05_2018.jpg将下面代码复制进上图第二步
UNIVERSAL_OUTPUTFOLDER=../Output/
# 创建输出目录,并删除之前的framework文件
mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"
rm -rf "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework"
# 分别编译模拟器和真机的Framework
xcodebuild -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
xcodebuild -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
# 拷贝真机的framework到univer目录
cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework" "${UNIVERSAL_OUTPUTFOLDER}/"
# 合并framework,输出最终的framework到build目录
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework/${PROJECT_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework/${PROJECT_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework/${PROJECT_NAME}"
第六步、编译生成SDK
选择这个,编译即可
20181205183322.png 20181206104639.png第七步、测试Demo
屏幕快照 2018-12-06 上午9.36.44.png 20181206104822.png第八步、导入SDK使用
20181206105711.png 20181206105758.png 20181206105805.png
网友评论