最后把博客最后的shell代码拷贝到build_TestSDK_script.sh文件下,运行TestSDKShell即可完成自动打包。

这里可能存在的问题就是脚本没有运行的权限,在终端中切换到build_TestSDK_script.sh所在目录,使用
sudo chmod +x build_TestSDK_script.sh
对shell文件进行授权,再次运行即可。运行成功后,即可看到包打好了。文件的命名包括静态库名字,日期,Git版本(我这里还没提交过代码,所以Git版本获取不到),Debug/Release版本。

简化流程分析
开始编写脚本简化步骤,我们首先需要明确SDK需要注意的以下几点:
-
需要支持所有位数的设备,
arm64 armv7 armv7s
需要可以配置Debug和Release版本
需要支持模拟器和真机
第一点我们需要注意的是配置文件里面的Build Active Architecture Only。

这个配置的作用是开发者可以设置Xcode,仅编译生成满足当前插入的设备的处理器二进制文件。当前插入设备就是你正在用于调试的机器。在日常开发中为了提高编译的速度,我们可以把Debug模式下的设置为YES,但是Release模式下必须设置为NO,否则打包上线的文件可能就会出问题了。
在开发SDK的时候,我们把所有的都设置为NO,这样打包出来的文件就不会出问题了。
为了让脚本可以适配Debug和Relaese模式。我们使用Xcode自带的配置变量${CONFIGURATION}。在打包的时候,使用该变量即可。
打包时候修改这里决定是打什么版本

打包模拟器静态库
#编译模拟器库文件
xcodebuild build -project ${PROJ}
-scheme ${LIB_STATIC_NAME}
-configuration ${CONFIGURATION}
-sdk iphonesimulator
clean
build
CONFIGURATION_BUILD_DIR=${IPHONE_SIMULATOR_DIR}
打包真机库文件
#编译真机库文件
xcodebuild -project ${PROJ}
-scheme ${LIB_STATIC_NAME}
-configuration ${CONFIGURATION}
-sdk iphoneos
clean
build
CONFIGURATION_BUILD_DIR=${IPHONE_OS_DIR}










