xcode7 生成兼容的Framework 静态库

项目中 经常会有需求让我们把项目的公共模块 打包做成静态库的,最近两天实验了一下,参照其他的人写的攻略,下面写一下具体的流程吧 ^_^

创建iOS动态库

新建工程并选择默认Target为Cocoa Touch Framework, 如图:

xcode7 生成兼容的Framework 静态库_第1张图片
创建静态库工程

编码只写了一个 MyUtils 类,打印log的方法

xcode7 生成兼容的Framework 静态库_第2张图片
创建静态库测试类MyUtils

设置可供其他人观看阅读的头文件,需要看到的类 放到Public, 其他的放到 Private和 Project下

xcode7 生成兼容的Framework 静态库_第3张图片
添加文件

把 framework文件导入测试工程后,显示暴露的头文件

xcode7 生成兼容的Framework 静态库_第4张图片
导入静态库

静态库的生成: 分为 Debug版和 Release版

xcode7 生成兼容的Framework 静态库_第5张图片
选择生成版本

静态库的生成版本:分为 模拟器版和真机版

xcode7 生成兼容的Framework 静态库_第6张图片
静态库版本

修改生成 公用的静态库 配置 将 linking->Mach-o Type 改为 Static Library

xcode7 生成兼容的Framework 静态库_第7张图片
修改配置

制作通用动态库

新建Aggregate Target

xcode7 生成兼容的Framework 静态库_第8张图片
创建target
添加script到新建的Target
xcode7 生成兼容的Framework 静态库_第9张图片
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

选中新建的Target,Run, 如果没有异常的话,会自动弹出生成的Framework文件

这样生成的动态库就能同时支持模拟器和真机了。
希望能有帮助哈,^_^

























你可能感兴趣的:(xcode7 生成兼容的Framework 静态库)