综合

iOS-简单封装SDK-framework的封装

2018-12-05  本文已影响0人  iixzp

最近公司需要,将部分功能封装为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
上一篇下一篇

猜你喜欢

热点阅读