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中設定使用腳本
3.編譯framework