首页 > 代码库 > 制作通用framework的几点注意

制作通用framework的几点注意

一、创建framework,调成静态的framework

.技术分享

 

二、匹配bitcode 

技术分享

 

三、增加-ObjC

在BuildSettting ->Linking->Other Linker Flags

技术分享

 

四、将真机和模拟器合并库

在File ->New ->Target ->中选择 Aggrate

技术分享

给Aggrate target增加一段脚本

技术分享

 

脚本可以通用

FMK_NAME=${PROJECT_NAME}

 

# Install dir will be the final output to the framework.

# The following line create it in the root folder of the current project.

INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework

 

# Working dir will be deleted after the framework creation.

WRK_DIR=build

DEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework

SIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework

 

# -configuration ${CONFIGURATION}

# Clean and Building both architectures.

xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos clean build

xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator clean 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 "${INSTALL_DIR}"

 

制作通用framework的几点注意