!/bin/sh
Script.sh
VideoPlayerLib
Created by lzz on 2019/4/10.
Copyright ? 2019 lzz. All rights reserved.
注意:腳本目錄和xxxx.xcodeproj要在同一個目錄间唉,如果放到其他目錄,請自行修改腳本利术。
要build的target名
target_Name=XCReporter
echo "target_Name=${target_Name}"
工程名
project_name={project_name}"
打包模式 Debug/Release 默認是Release
development_mode=Release
當前腳本文件所在的路徑 $(pwd)
SCRIPT_DIR={SCRIPT_DIR}======"
工程路徑
PROJECT_DIR=${SCRIPT_DIR} 和下面寫法也樣
PROJECT_DIR={PROJECT_DIR}======"
build之后的文件夾路徑
build_DIR={build_DIR}======"
真機build生成的.framework 文件路徑
DEVICE_DIR={development_mode}-iphoneos/${project_name}.framework
真機build生成的sdk文件路徑
DEVICE_DIR_A={development_mode}-iphoneos/
{project_name}
echo "======真機.framework路徑=${DEVICE_DIR_A}======"
模擬器build生成的sdk文件路徑
SIMULATOR_DIR_A={development_mode}-iphonesimulator/
{project_name}
echo "======模擬器.framework路徑=${SIMULATOR_DIR_A}======"
目標文件夾路徑(也就SDK的文件:.framework文件 和 bundle文件)
INSTALL_DIR={project_name}
echo "======SDK的文件夾路徑=${INSTALL_DIR}======"
目標 sdk 路徑
INSTALL_DIR_A={project_name}/
{project_name}
echo "======目標sdk路徑=${INSTALL_DIR}======"
判斷build文件夾是否存在呈野,存在則刪除
rm -rf 命令的功能:刪除一個目錄中的一個或多個文件或目錄
if [ -d "{build_DIR}"
fi
判斷目標文件夾是否存在,存在則刪除該文件夾
if [ -d "{INSTALL_DIR}"
fi
創(chuàng)建目標文件夾
mkdir -p "${INSTALL_DIR}"
echo "======盒子已經(jīng)準備好了印叁,開始生產(chǎn).a 并合成裝到盒子里吧======"
build之前clean一下
xcodebuild -target {development_mode} -sdk iphonesimulator clean
xcodebuild -target {development_mode} -sdk iphoneos clean
模擬器build
xcodebuild -target {development_mode} -sdk iphonesimulator
真機build
xcodebuild -target {development_mode} -sdk iphoneos
1.復制真機的${project_name}.framework到目標文件夾
使用-R參數(shù)可實現(xiàn)遞歸功能,即所有子目錄中的文件與目錄均拷貝
cp -R "{INSTALL_DIR}"
2.刪除真機 INSTALL_DIR 中原來的XCReporter 文件
判斷目標文件夾是否存在,存在則刪除該文件夾
if [ -f "{INSTALL_DIR_A}"
fi
XCode12編譯的模擬器靜態(tài)庫也支持了arm64右蹦,導致出現(xiàn)真機庫和模擬器庫不能合并的問題收壕。移除模擬器編譯中的arm64 架構
lipo "{SIMULATOR_DIR_A}"
合成模擬器和真機 XCReporter 文件替換目標文件夾中${project_name}.framework 下的 真機 XCReporter 文件
lipo -create "{SIMULATOR_DIR_A}" -output "${INSTALL_DIR_A}"
echo "======合成結束======"
-f 判斷文件是否存在
if [ -f "{INSTALL_DIR_A}"
fi
打開目標文件夾
open "${INSTALL_DIR}"