1. 创建framework工程
2. 设置属性
TAGETS -> Build Settings -> Base SDK 设置为iOS;
TAGETS -> Build Settings -> Build Active Architecture Only 设置为NO;
TAGETS ->Grneral->deployment Info 设置为 device和支持版本;
TAGETS -> Build Settings -> Dead Code Stripping 设置为 NO;
TAGETS -> Build Settings -> Link With Standard Libraries 设置为 NO;
TAGETS -> Build Settings -> Mach-O Type 设置为 Static Library;
3.添加文件到工程中
如需公开文件则在TAGETS -> Build Phases ->Headers中从Progect一道Public中,
并在XXDemo.h中引入文件即可
#import <XXDemo/XXDemoConfig.h>
4. 封装Bundle资源库
command+shift+N创建新工程,选中macOS,选中Bundle创建bundle工程
创建bundle 修改为iOS SDK 修改支持最低版本TAGETS -> Build Settings -> COMBINE_HIDPI_IMAGES 设置为NO;
设置添加资源文件到bundle工程中并build;
结果最终showInFinder .bundle文件获取到资源文件,添加到framework中
5. 自动打包
Editor -> Add Target -> Cross Platform->Package创建自动打包package
打包1 创建脚本添加脚本
TARGET_NAME=${PROJECT_NAME}
if[[ $1]]
then
TARGET_NAME=$1
fi
UNIVERSAL_OUTPUT_FOLDER="${SRCROOT}/Products/"
#创建输出目录,并删除之前的framework文件
mkdir -p"${UNIVERSAL_OUTPUT_FOLDER}"
rm -rf"${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework"
#分别编译模拟器和真机的Framework
xcodebuild -target"${TARGET_NAME}"ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}"BUILD_ROOT="${BUILD_ROOT}"clean build
xcodebuild -target"${TARGET_NAME}"ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator BUILD_DIR="${BUILD_DIR}"BUILD_ROOT="${BUILD_ROOT}"clean build
#拷贝framework到univer目录
cp -R"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${TARGET_NAME}.framework""${UNIVERSAL_OUTPUT_FOLDER}"
#合并framework,输出最终的framework到build目录
lipo -create -output"${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework/${TARGET_NAME}""${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${TARGET_NAME}.framework/${TARGET_NAME}""${BUILD_DIR}/${CONFIGURATION}-iphoneos/${TARGET_NAME}.framework/${TARGET_NAME}"
#删除编译之后生成的无关的配置文件
dir_path="${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework/"
forfileinls $dir_path
do
if[[ ${file} =~".xcconfig"]]
then
rm -f"${dir_path}/${file}"
fi
done
#判断build文件夹是否存在,存在则删除
if[ -d"${SRCROOT}/build"]
then
rm -rf"${SRCROOT}/build"
fi
rm -rf"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator""${BUILD_DIR}/${CONFIGURATION}-iphoneos"
#打开合并后的文件夹
open"${UNIVERSAL_OUTPUT_FOLDER}"
最后选择package build打包成功
网友评论