iOS-简单封装SDK-framework的封装
2018-12-05 本文已影响0人
iixzp
最近公司需要,将部分功能封装为SKD供他人使用,琢磨半天终于弄出来了,记录一下
第一步、创建一个TestSDK文件夹用于放SDK源码,SDK-framework包,Demo等

第二步、创建一个workspace,路径放到文件夹里面 (File->New->Workspace)


第三步、创建SDK工程,选择Framework



第二步、配置信息
Build Settings :
Build Active Architecture only - NO
mach-type - static Library
Architectures下增加armv7s


第三步、创建测试数据(颜色为橙色的一个View)


第四步、设置展示头文件


第五步、创建脚本 (Editor->AddTarget->Cross-Platform->aggregate)




将下面代码复制进上图第二步
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
选择这个,编译即可


第七步、测试Demo


第八步、导入SDK使用


