天天看點

xcode 編譯framework腳本

作者:洲遊曆累

1.編寫腳本内容

#!/bin/sh

UNIVERSAL_OUTPUTFOLDER=../build/

LogDir=../log/
mkdir -p "${LogDir}"
LogPath="${LogDir}/log.txt"

# 建立輸出目錄,并删除之前的framework檔案
mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"
rm -rf "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework"


echo "PROJECT_NAME=${PROJECT_NAME}" >> "${LogPath}"
echo "CONFIGURATION=${CONFIGURATION}" >> "${LogPath}"
echo "BUILD_DIR=${BUILD_DIR}" >> "${LogPath}"
echo "BUILD_ROOT=${BUILD_ROOT}" >> "${LogPath}"

# 分别編譯模拟器和真機的Framework
xcodebuild -target "${PROJECT_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos  BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build
xcodebuild -target "${PROJECT_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}-iphoneos/${PROJECT_NAME}.framework" "${UNIVERSAL_OUTPUTFOLDER}/"

# 合并framework,輸出最終的framework到build目錄
lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/${PROJECT_NAME}.framework/${PROJECT_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework/${PROJECT_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework/${PROJECT_NAME}"
           

2.腳本另存為build.sh,并在xcode中設定使用腳本

xcode 編譯framework腳本
xcode 編譯framework腳本
xcode 編譯framework腳本

3.編譯framework

xcode 編譯framework腳本
xcode 編譯framework腳本

繼續閱讀