构建xcframework

524 阅读1分钟
#!/bin/sh

# 生成 xcframework
# 需要把这个文件移动到工程目录下。
# 使用方法
# e.g sh buildxcframework.sh project scheme output

# 项目名字,e.g Alamofire
project=$1
# e.g "Alamofire iOS", 空格需要加引号
scheme=$2
# e.g 输出目录 e.g ~/Desktop
output=$3

echo "project:$project"
echo "scheme:$scheme"
echo "output:$output"

echo "confirm info?Yy"
read is_to_continue

if [[ $is_to_continue =~ ^[yY]$ ]]
then
    echo "start"
else
    echo "exit"
    exit 0
fi

echo "build iphonesimulator"
xcodebuild archive -scheme "$scheme" -archivePath \
    $output/$project-iphonesimulator.xcarchive -sdk iphonesimulator SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
    -quiet

echo "build iphoneos"
xcodebuild archive -scheme "$scheme" -archivePath \
    $output/$project-iphoneos.xcarchive -sdk iphoneos SKIP_INSTALL=NO BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
    -quiet

echo "create xcframework"
xcodebuild -create-xcframework \
    -framework $output/$project-iphoneos.xcarchive/Products/Library/Frameworks/$project.framework \
    -framework $output/$project-iphonesimulator.xcarchive/Products/Library/Frameworks/$project.framework \
    -output $output/$project.xcframework

echo "congralations"