目录
一、创建一个workspace项目
二、创建一个调试运行SDK的demo,放置在DapengSDK根目录文件夹里面
三、创建SDK工程,放置在DapengSDK根目录文件夹里面
四、修改SDK工程配置参数
五、创建图片资源.bundle
六、创建SDK和.bundle编译打包脚本
七、使用sdk
八、Demo下载地址
一、创建一个workspace项目
- 为什么要创建一个workspace项目
workspace项目可以同时包含多个项目,我们就可以把“SDK打包项目”和“调试运行SDK的demo”放在一起同时管理使用。
- 创建一个根目录文件夹,用作放置workspace项目组管理文件、“SDK打包项目”、“调试运行SDK的demo”
- 创建workspace工作空间管理文件,放置在DapengSDK根目录文件夹里面
二、创建一个调试运行SDK的demo,放置在DapengSDK根目录文件夹里面
- 创建demo需要将支持系统版本改为最低版本,为了更好地测试我们开发的SDK,只能忍痛删除.storyboard相关的所有控件,将项目改为全代码工程
- 创建工程时需要为当前项目选择workspace项目组管理文件,先打开workspace文件,创建新工程:command + shift + N
三、创建SDK工程,放置在DapengSDK根目录文件夹里面
先打开workspace文件,创建新工程: command + shift + N
四、修改SDK工程配置参数
- 创建一个测试类
- 修改工程支持系统版本
- 设置Build Setting参数
- 设置Headers,将要公开的头文件拖到Public下,要隐藏的放到Private或Project下,隐藏的头文件不能被引用
修改为: - 在DapengSDK.h(必须是公开的,否则无法引用)中将所有要公开的.h引入
五、创建图片资源.bundle
- 在DapengSDK工程下创建.bundle
- 修改.bundle工程配置
"Base SDK" 设置为 iOS
"iOS Deployment Target" 设置为 iOS 8.0 (为了兼容性,最好选择最低版本)
"Build Active Architecture Only" 设置为 "YES"
Installation Directiotory 删除掉后面的路径
Code Signing Identity 选择 开发
"Skip Install" 设置为 "NO"
"Strip Debug Symbols During Copy" 中"Release"模式设置为 "YES"
"COMBINE_HIDPI_IMAGES" 设置为 "NO"buildSetting->Versioning Systems
修改为none
- 删除Info.plist文件,
buildSetting->搜索“Info.plist”删除路径配置
六、创建SDK和.bundle编译打包脚本
- 在SDK工程中创建脚本问文件
- 在脚本执行文件中填写sdk打包脚本 和 .bundle打包脚本
#!/bin/sh
# 工程文件所在的根目录
SRCROOT='.'
# sdk 编译过程的输出文件路径
WRK_DIR=./build
# 创建 sdk 输出路径
mkdir -p ${SRCROOT}/Products
# 编译静态库framework名字 警告!!!!!!需要修改
FMK_NAME='DapengSDK'
# 真机 framework 输出文件路径
DEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework
# 模拟器 framework 输出文件路径
SIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework
# 编译静态库framework
xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos build -UseModernBuildSystem=NO
xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator build -UseModernBuildSystem=NO
# 最终 sdk 输出的文件路径
INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework
# 清理之前生成的 sdk
if [ -d "${INSTALL_DIR}" ]
then
rm -rf "${INSTALL_DIR}"
fi
# 移动一个 framework 到 SDK输出路径中
cp -LR "${DEVICE_DIR}" "${INSTALL_DIR}"
# 合并真机和模拟器的静态库.framework
lipo -create "${DEVICE_DIR}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/${FMK_NAME}"
# 资源文件bundle名字 警告!!!!!!需要修改
BUNDLE_NAME='DapengSDKResource'
# 真机 bundle 输出文件路径
BUNDLE_DEVICE_DIR=${WRK_DIR}/Release-iphoneos/${BUNDLE_NAME}.bundle
# 模拟器 bundle 输出文件路径
BUNDLE_SIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${BUNDLE_NAME}.bundle
# 编译资源文件bundle
xcodebuild -configuration "Release" -target "${BUNDLE_NAME}" -sdk iphoneos build -UseModernBuildSystem=NO
xcodebuild -configuration "Release" -target "${BUNDLE_NAME}" -sdk iphonesimulator build -UseModernBuildSystem=NO
# 最终 资源文件 输出的文件路径
BUNDLE_INSTALL_DIR=${SRCROOT}/Products/${BUNDLE_NAME}.bundle
# 清理之前生成的 sdk
if [ -d "${BUNDLE_INSTALL_DIR}" ]
then
rm -rf "${BUNDLE_INSTALL_DIR}"
fi
# 移动一个 budle 到 资源文件输出路径中
cp -LR "${BUNDLE_DEVICE_DIR}" "${BUNDLE_INSTALL_DIR}"
# 合并真机和模拟器的资源文件bundle
lipo -create "${BUNDLE_DEVICE_DIR}/${BUNDLE_NAME}" "${BUNDLE_SIMULATOR_DIR}/${BUNDLE_NAME}" -output "${BUNDLE_INSTALL_DIR}/${BUNDLE_NAME}"
# 清理编译文件
rm -r "${WRK_DIR}"
# 打开SDK目录
open "${SRCROOT}/Products"
- 执行脚本,打包sdk .framework和资源文件 .bundle
编译成功,自动弹出打包文件夹
七、使用sdk
- 将sdk文件夹导入到demo工程中
- 调用SDK代码
八、Demo下载地址
demo下载传送门,点击传送----------->>>>>>>>>