IOS 使用cocoaPods管理依赖库的framwork 打包脚本

#!/bin/sh
#要build的target名
TARGET_NAME=${PROJECT_NAME}
COMPILE_IPHONE="[真机包存放的临时目录]"
COMPILE_SIMILAR="[模拟器包存放的临时目录]"
if [[ $1 ]]
then
TARGET_NAME=$1
fi
UNIVERSAL_OUTPUT_FOLDER="[最终合并包存放的目录]"
#UNIVERSAL_OUTPUT_FOLDER="${SRCROOT}/${PROJECT_NAME}_Products/"

#创建输出目录,并删除之前的framework文件
mkdir -p "${UNIVERSAL_OUTPUT_FOLDER}"
rm -rf "${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework"

#分别编译模拟器和真机的Framework
xcodebuild -workspace *.xcwork* -scheme ${TARGET_NAME} -configuration ${CONFIGURATION}  ONLY_ACTIVE_ARCH=NO CONFIGURATION_BUILD_DIR=${COMPILE_SIMILAR} -UseModernBuildSystem=NO -sdk iphonesimulator clean build

xcodebuild -workspace *.xcwork* -scheme ${TARGET_NAME} -configuration ${CONFIGURATION}  ONLY_ACTIVE_ARCH=NO CONFIGURATION_BUILD_DIR=${COMPILE_IPHONE} -UseModernBuildSystem=NO -sdk iphoneos clean build

#拷贝framework到univer目录
cp -R "${COMPILE_IPHONE}/${TARGET_NAME}.framework" "${UNIVERSAL_OUTPUT_FOLDER}"

#合并framework,输出最终的framework到build目录
lipo -create -output "${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework/${TARGET_NAME}" "${COMPILE_IPHONE}/${TARGET_NAME}.framework/${TARGET_NAME}" "${COMPILE_SIMILAR}/${TARGET_NAME}.framework/${TARGET_NAME}"

#删除编译之后生成的无关的配置文件
dir_path="${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework/"
for file in ls $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"

rm -rf "${COMPILE_IPHONE}" "${COMPILE_SIMILAR}"

#打开合并后的文件夹
open "${UNIVERSAL_OUTPUT_FOLDER}"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值