首先附上通用一鍵打包腳本使用鏈接以及說明, 無需修改即可使用:
https://github.com/starLover/build_script.git
下面開始介紹簡單的打包腳本教程
1. 創(chuàng)建打包腳本文件
在項(xiàng)目包含.xcworkspace文件的目錄下步清,新建文本文件(即txt文件)
, 粘貼以下代碼匹表,替換代碼中第四行的“這里填寫項(xiàng)目名稱”
為自己項(xiàng)目Framework的名稱, 并將該文本文件保存為后綴名為.sh的文件。如文本文件名字為build_framework.txt
, 保存為build_framework.sh
#當(dāng)前項(xiàng)目所在路徑
current_path=`pwd`
#項(xiàng)目
project_name='這里填寫項(xiàng)目名稱,如:MyProject'
#
workspace_name=$project_name
target_name=$project_name
framework_config=Release
#framework輸出路徑
FRAMEWORK_TARGET_DIR=$current_path/${workspace_name}"Framework"
#臨時(shí)文件夾路徑
BUILD_DIR_TMP=$current_path/'FrameworkTmp'
echo "當(dāng)前項(xiàng)目所在路徑:$current_path"
echo "臨時(shí)文件夾:$BUILD_DIR_TMP"
echo "framework輸出路徑:${FRAMEWORK_TARGET_DIR}"
archiveWorkSpace(){
#build之前清理文件
xcodebuild clean -workspace ${workspace_name}.xcworkspace -scheme ${target_name}
#模擬器build
xcodebuild build -workspace ${workspace_name}.xcworkspace -scheme ${target_name} -configuration framework_config -sdk iphonesimulator SYMROOT=${BUILD_DIR_TMP}
#真機(jī)build
xcodebuild build -workspace ${workspace_name}.xcworkspace -scheme ${target_name} -configuration framework_config -sdk iphoneos SYMROOT=${BUILD_DIR_TMP}
#OBJROOT=${BUILD_DIR_TMP} SYMROOT=${BUILD_DIR_TMP}
#將模擬器中的framework復(fù)制出來
cp -R ${BUILD_DIR_TMP}/${framework_config}-iphonesimulator/${workspace_name}.framework ${FRAMEWORK_TARGET_DIR}
#從模擬器中移除arm64架構(gòu)
lipo ${BUILD_DIR_TMP}/${framework_config}-iphonesimulator/${workspace_name}.framework/${workspace_name} -remove arm64 -output ${BUILD_DIR_TMP}/${framework_config}-iphonesimulator/${workspace_name}.framework/${workspace_name}
#合并真機(jī)和模擬器文件并輸出到構(gòu)建的framework中
lipo -create ${BUILD_DIR_TMP}/${framework_config}-iphonesimulator/${workspace_name}.framework/${workspace_name} ${BUILD_DIR_TMP}/${framework_config}-iphoneos/${workspace_name}.framework/${workspace_name} -output ${FRAMEWORK_TARGET_DIR}/${workspace_name}.framework/${workspace_name}
#刪除無用的三方bundle
find ${FRAMEWORK_TARGET_DIR}/${workspace_name}.framework -maxdepth 1 -name '*.bundle' -not -name "${workspace_name}*.bundle" | xargs rm -rf
#自動(dòng)打開文件夾
open $FRAMEWORK_TARGET_DIR
}
makeFramework(){
#判斷臨時(shí)文件夾是否存在庆冕,存在的話先刪除
if [ -d $BUILD_DIR_TMP ];then
rm -rf $BUILD_DIR_TMP
fi
# 判斷輸出文件夾是否存在渔期,存在的話先刪除
if [ -d ${FRAMEWORK_TARGET_DIR} ];then
rm -rf ${FRAMEWORK_TARGET_DIR}
fi
#創(chuàng)建臨時(shí)文件夾
mkdir -p ${BUILD_DIR_TMP}
#創(chuàng)建輸出文件夾
mkdir -p ${FRAMEWORK_TARGET_DIR}
archiveWorkSpace
rm -rf $BUILD_DIR_TMP
}
makeFramework
2. 運(yùn)行打包腳本文件
下面以文件名為build_framework.sh舉例阅虫,你可以替換為自己腳本文件的命名來進(jìn)行測試
#這個(gè)方法執(zhí)行一次即可全谤,使腳本具有執(zhí)行權(quán)限
chomd +x ./build_framework.sh
#執(zhí)行過上面的命令后的猛,每次打包時(shí)只需要執(zhí)行下面這行即可
./build_framework.sh
總結(jié)
以上就是比較簡單的Framework打包腳本的使用寨典,感興趣的朋友可以自己動(dòng)手嘗試下, 相信會(huì)受益匪淺氛雪。