iOS Framework合并真机与模拟器架构的脚本

一:添加脚本: -> Build Phases -> 添加Run Script -> 添加如下脚本:

#合并真机与模拟器的脚本
#
#
#Framework名称
SDK_NAME="TKSDKTool"
if [ "${ACTION}" = "build" ]
then
#三个必须的目录
BUILD_DIR=${SRCROOT}/Products/${SDK_NAME}.framework
DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${SDK_NAME}.framework
SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${SDK_NAME}.framework
#判断对应真机与模拟器文件是否都存在
if [ -e "${DEVICE_DIR}/${SDK_NAME}" -a -e "${SIMULATOR_DIR}/${SDK_NAME}" ]
then
#判断合并目录是否存在,如果存在就删除
if [ -d "${BUILD_DIR}" ]
then
rm -rf "${BUILD_DIR}"
fi
#创建新的合并目录
mkdir -p "${BUILD_DIR}"
#拷贝
cp -R "${DEVICE_DIR}/" "${BUILD_DIR}/"
#合并不同的架构
lipo -create "${DEVICE_DIR}/${SDK_NAME}" "${SIMULATOR_DIR}/${SDK_NAME}" -output "${BUILD_DIR}/${SDK_NAME}"
###附加-资源拷贝/移动
File_SRC=${SRCROOT}/Products/${SDK_NAME}.framework/需要拷贝的资源.bundle
Products_DIR=${SRCROOT}/Products/
if [ -a "${File_SRC}" ]
then
#先将framework中的资源文件拷贝出来
cp -a "${File_SRC}" "${Products_DIR}"
#接着把framework中的资源文件删除
rm -f -r "${File_SRC}" 
fi
###附加-资源拷贝
#打开合并好的目录
#open "${Products_DIR}"
fi
fi

二:target分别选中模拟器与通用设备两种类型进行Build之后才可以合并Framework,成功之后可以使用 lipo -info /xx/xx.framework/xx 进行查看Framework的架构!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容