參考:http://www.reibang.com/p/c796fcba1604
步驟:
? ? 1.創(chuàng)建一個(gè)集合target逸嘀。
? ? 2.給集合添加依賴(lài)庫(kù)(這一步可以省略因?yàn)槭怯媚_本編譯出了工程的模擬器和真機(jī)庫(kù)文件,后面的腳本已經(jīng)把兩個(gè)庫(kù)合并。)
? ? 3.添加腳本阱驾。
shell腳本:
? ? framework:
#創(chuàng)建輸出目錄,并刪除之前的framework文件mkdir -p"${UNIVERSAL_OUTPUT_FOLDER}"rm -rf"${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework"#分別編譯模擬器和真機(jī)的Frameworkxcodebuild -target"${TARGET_NAME}"ONLY_ACTIVE_ARCH=NO -configuration${CONFIGURATION}-sdk iphoneos BUILD_DIR="${BUILD_DIR}"BUILD_ROOT="${BUILD_ROOT}"clean buildxcodebuild -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}"#刪除編譯之后生成的無(wú)關(guān)的配置文件dir_path="${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework/"forfileinls$dir_pathdoif[[${file}=~".xcconfig"]]thenrm -f"${dir_path}/${file}"fidone#判斷build文件夾是否存在彩库,存在則刪除if[ -d"${SRCROOT}/build"]thenrm -rf"${SRCROOT}/build"firm -rf"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator""${BUILD_DIR}/${CONFIGURATION}-iphoneos"#打開(kāi)合并后的文件夾open"${UNIVERSAL_OUTPUT_FOLDER}"
靜態(tài)庫(kù):
#!/bin/sh#要build的target名target_Name=${PROJECT_NAME}if[[$1]]thentarget_Name=$1fiUNIVERSAL_OUTPUT_FOLDER="${SRCROOT}/${PROJECT_NAME}_Products"# 創(chuàng)建輸出目錄,并刪除之前的文件rm -rf"${UNIVERSAL_OUTPUT_FOLDER}"mkdir -p"${UNIVERSAL_OUTPUT_FOLDER}"# 分別編譯真機(jī)和模擬器版本xcodebuild -target"${target_Name}"ONLY_ACTIVE_ARCH=NO -configuration${CONFIGURATION}-sdk iphoneos BUILD_DIR="${BUILD_DIR}"BUILD_ROOT="${BUILD_ROOT}"clean buildxcodebuild -target"${target_Name}"ONLY_ACTIVE_ARCH=NO -configuration${CONFIGURATION}-sdk iphonesimulator BUILD_DIR="${BUILD_DIR}"BUILD_ROOT="${BUILD_ROOT}"clean build#復(fù)制頭文件到目標(biāo)文件夾HEADER_FOLDER="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/include/${target_Name}"if[[ -d"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/usr/local/include"]]thenHEADER_FOLDER="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/usr/local/include"ficp -R"${HEADER_FOLDER}""${UNIVERSAL_OUTPUT_FOLDER}"#合成模擬器和真機(jī).a包lipo -create"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${target_Name}.a""${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${target_Name}.a"-output"${UNIVERSAL_OUTPUT_FOLDER}/lib${target_Name}.a"# 判斷build文件夾是否存在槽惫,存在則刪除if[ -d"${SRCROOT}/build"]thenrm -rf"${SRCROOT}/build"fi#打開(kāi)目標(biāo)文件夾open"${UNIVERSAL_OUTPUT_FOLDER}"