最近,稍微看了一下iOS的打包framework,发现网上的教程都是比较老的,所以整合了一下,使用了xcode8.3给大家打包framework。
1,使用xcode新建一个工程。选择Cocoa Touch Framework
2,在这个新建的工程按照平时一样,创建一个示范的类:
3,现在是配置环境的步骤了:
3.1 首先,选择TARGETS的第一项,选择Build Phases,选择Headers,会看到有Public,Private,Projiect三项,我们要修改的是第一项Public,把我们想暴露在外面的文件拖进去,一般是拖.h文件。
3.2 然后注意观察TARGETS中间一竖列,是不是我这里多了个MyAggregate?是的,我们第二步就是增加这个类,在这一竖列的下面的加号➕,点击,增加Aggregate
3.3 在这个TARGETS里面,选中新建的MyAggregate里面,选中他。选择Build Phrase,增加这个New Run Script Phrase
3.4 在黑色的框框里面,添加如下脚本。直接复制粘贴就好了
脚本内容
# Sets the target folders and the final framework product.
#如果工程名称和Framework的Target名称不一样的话,要自定义FMKNAME
#例如: FMK_NAME = "MyFramework"
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}"
3.5 完成后,直接Command + B,直接build就能自动出现做好的framework包。
4,你是否会发生这种情况:
很简单,你在你使用的工程中打开TARGETS:在General里面,选中Embedded Blnaries,里面点击➕号如图所示就好了。