【潮汐】iOS framework-SDK开发用Cocoapods管理第三方库

2022年2月23日亲自测有用

iOS framework-SDK开发用Cocoapods管理第三方库

一.创建工程

1.选择Cocoa Touch Framework

image

2.更改Xcode配置

image

注:Dead Code Stripping:舍弃无用代码

Link With Standard Library:用标准库连接

Mach-O Type:类型选择静态库

3.将Build Active Architecture Only 设置为NO(代表根据Arch 和Valid Arch来设定, 一般Debug模式下为yes,Release模式下为No):

注:Build Active Archiitecture Only指是否只对当前连接设备所支持的指令集编译,在debug模式下为了编译更快选择yes,而release模式下设为No,支持所选的所有架构

4.创建Podfile文件

image

引入第三方库,然后执行pod install

image

5.打开pod生成的.xcworkspace文件,创建类

image

4.设置Headers

将需要公开的头文件拖置Public

image

二.创建demo联调

1.通过workspace文件打开步骤一的SDK项目

2.新建一个target,类型选择Single View App

3.编辑Podfile,如下所示,联调需要分别设置SDK与Demo的的target,导出包给别人用好像不需要设置SDK的target,只用设置项目的target:

image

4.执行pod install

5.Other Linker Flages 处添加:-ObjC 。 Enable Bitcode 设置为NO,不然三方framework无法使用。

6.选中demo的target,在Target Dependencies中将SDK和bundle的target加进来,并且在Link Binary With Libraries中添加SDK的framework, 在Copy Bundle Resource中添加bundle。这样的话,SDK有改动,demo引用的是最新版本。
注意:直接把自己的BRCBTwoAccountPaySDK.framework往demo里拖,别勾选copy也可以。

将图中替换内容后的标红框的framework拉出来保存,此为制作完成的Framework

四.脚本编译出SDK供其它项目使用

1.在SDK项目中创建一个新target,类型选择Aggregate

image

2.选中新创建的target,在Build Phrases下添加一个Run Script,内容参考如下:

#通过脚本合并真机和模拟器SDK包
TARGET_NAME=${PROJECT_NAME}
OUTPUT_DIR=${SRCROOT}/Products/${TARGET_NAME}.framework
DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${TARGET_NAME}.framework
SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${TARGET_NAME}.framework

if [ -d "${OUTPUT_DIR}" ]
then
rm -rf "${OUTPUT_DIR}"
fi

mkdir -p "${OUTPUT_DIR}"
cp -R "${DEVICE_DIR}/" "${OUTPUT_DIR}/"

lipo -create "${DEVICE_DIR}/${TARGET_NAME}" "${SIMULATOR_DIR}/${TARGET_NAME}" -output "${OUTPUT_DIR}/${TARGET_NAME}"

open "${SRCROOT}/Products"

3.编译Aggregate 类型的target,会自动打开SDK所需framework所在的文件夹。

注:步骤二和步骤一示例名称有所不同,不用纠结,只为示例!

制作完成!!!

原文链接

你可能感兴趣的:(【潮汐】iOS framework-SDK开发用Cocoapods管理第三方库)