IOS 静态库打包流程简化详细介绍

2020-01-18 19:02:41王冬梅

最后把博客最后的shell代码拷贝到build_TestSDK_script.sh文件下,运行TestSDKShell即可完成自动打包。
IOS,静态库打包流程简化,静态库打包,静态库打包详解

这里可能存在的问题就是脚本没有运行的权限,在终端中切换到build_TestSDK_script.sh所在目录,使用

sudo chmod +x build_TestSDK_script.sh

对shell文件进行授权,再次运行即可。运行成功后,即可看到包打好了。文件的命名包括静态库名字,日期,Git版本(我这里还没提交过代码,所以Git版本获取不到),Debug/Release版本。

IOS,静态库打包流程简化,静态库打包,静态库打包详解

简化流程分析

开始编写脚本简化步骤,我们首先需要明确SDK需要注意的以下几点:

        需要支持所有位数的设备,arm64 armv7 armv7s  需要可以配置Debug和Release版本     需要支持模拟器和真机

第一点我们需要注意的是配置文件里面的Build Active Architecture Only
IOS,静态库打包流程简化,静态库打包,静态库打包详解
这个配置的作用是开发者可以设置Xcode,仅编译生成满足当前插入的设备的处理器二进制文件。当前插入设备就是你正在用于调试的机器。在日常开发中为了提高编译的速度,我们可以把Debug模式下的设置为YES,但是Release模式下必须设置为NO,否则打包上线的文件可能就会出问题了。

在开发SDK的时候,我们把所有的都设置为NO,这样打包出来的文件就不会出问题了。

为了让脚本可以适配Debug和Relaese模式。我们使用Xcode自带的配置变量${CONFIGURATION}。在打包的时候,使用该变量即可。

打包时候修改这里决定是打什么版本
IOS,静态库打包流程简化,静态库打包,静态库打包详解

打包模拟器静态库


#编译模拟器库文件
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}