美文网首页
打包Framework小结

打包Framework小结

作者: _RG | 来源:发表于2018-09-26 17:36 被阅读0次
  1. 首先创建一个Framework工程,工程名就是Framework名


    屏幕快照 2018-09-26 下午4.22.59.png
  2. 添加Framework类文件


    屏幕快照 2018-09-26 下午4.25.02.png

这里添加了一个Person类,添加的类文件会在build phases中可以看到,
pulic里面的是打包之后暴露出来的类文件,
project是打包之后隐藏的类文件,这里可以通过拖拽进行相互移动

屏幕快照 2018-09-26 下午4.31.59.png

文件准备齐全了,就可以开始准备打包:

  1. build setting 里面的mach-O Type选择Static Libraty, 打包为静态库
屏幕快照 2018-09-26 下午4.36.17.png

2.Defines Module 修改为NO

屏幕快照 2018-09-26 下午4.39.24.png

3.设置framework支持的最低版本

屏幕快照 2018-09-26 下午4.40.56.png
  1. 选择真机编译一次,生成真机的Framework
屏幕快照 2018-09-26 下午5.26.35.png

选择模拟器编译一次,生成模拟器的Framework

屏幕快照 2018-09-26 下午5.27.04.png

基本设置完成后就可以打包了,添加打包工具aggregate,进行两个包的合并了,名字随便取

001.png
  1. 添加一个run script
屏幕快照 2018-09-26 下午4.48.33.png
  1. 添加脚本代码,是合并模拟器版本的Framework和真机版本的Framework版本
屏幕快照 2018-09-26 下午4.50.18.png

这里有一份通用的固定代码

if [ "${ACTION}" = "build" ]
then
INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.framework
DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework
SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework
if [ -d "${INSTALL_DIR}" ]
then
rm -rf "${INSTALL_DIR}"
fi
mkdir -p "${INSTALL_DIR}"
cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/"
#ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers"
lipo -create "${DEVICE_DIR}/${PROJECT_NAME}" "${SIMULATOR_DIR}/${PROJECT_NAME}" -output "${INSTALL_DIR}/${PROJECT_NAME}"
#open "${DEVICE_DIR}"
#open "${SRCROOT}/Products"
fi

  1. 选择aggregate, 选择generic iOS Device
屏幕快照 2018-09-26 下午4.56.21.png
  1. commed + B编译一下,succeed成功后, show in finder工程文件,就能看到一个Products文件,里面就是合并真机和模拟器的Framework了
屏幕快照 2018-09-26 下午5.04.19.png 屏幕快照 2018-09-26 下午5.04.27.png

注意: 不要直接show in finder工程里面的Product文件, 这样只能看到两个真机和模拟器分开版本的Framework

相关文章

网友评论

      本文标题:打包Framework小结

      本文链接:https://www.haomeiwen.com/subject/rnqjoftx.html