【1】打开Xcode创建framework工程
【2】修改配置信息,生成支持所有架构的版本
【3】把要公开的类头文件暴露出来
【4】添加Aggregate
找到File/New/Target/Cross-platform/Aggregate,创建Aggregate。
【5】添加Run Script
# Install dir will be the final output to the framework.
# The following line create it in the root folder of the current project.
FMK_NAME=${PROJECT_NAME}
INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework
# Working dir will be deleted after the framework creation.
WRK_DIR=build
DEVICE_DIR=${WRK_DIR}/Build/Products/Release-iphoneos/${FMK_NAME}.framework
SIMULATOR_DIR=${WRK_DIR}/Build/Products/Release-iphonesimulator/${FMK_NAME}.framework
# -configuration ${CONFIGURATION}
# Clean and Building both architectures.
xcodebuild -workspace ${FMK_NAME}.xcworkspace -scheme ${FMK_NAME} -configuration Release -derivedDataPath ${WRK_DIR} clean
xcodebuild -workspace ${FMK_NAME}.xcworkspace -scheme ${FMK_NAME} -configuration Release -derivedDataPath ${WRK_DIR} -sdk iphoneos -arch armv7 -arch armv7s -arch arm64 clean build
# simulator
xcodebuild -workspace ${FMK_NAME}.xcworkspace -scheme ${FMK_NAME} -configuration Release -derivedDataPath ${WRK_DIR} -sdk iphonesimulator -arch i386 -arch x86_64 build
# Cleaning the oldest.
if [ -d "${INSTALL_DIR}" ]
then
rm -rf "${INSTALL_DIR}"
fi
mkdir -p "${INSTALL_DIR}"
cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/"
# Uses the Lipo Tool to merge both binary files (i386 + armv6/armv7) into one Universal final product.
lipo -create "${DEVICE_DIR}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/${FMK_NAME}"
#rm -r "${WRK_DIR}"
open "${SRCROOT}/Products/"