欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

程序员文章站 2024-03-23 20:58:22
...

1.Workspace可以方便SDK与Demo的联调,首先创建一个Workspace:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


2.创建Framework:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


选择Cocoa Touch Framework:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


加入之前创建的SDKWorkspace,点击Create:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


3.创建SDKDemo:

再次新建Project,选择Single View Application:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


加入SDKWorkspace:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


4.生成Framework,关联Demo与SDK:

在SDK中创建一个类SDKView,设置BackgroundColor:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


选择Target-SDK-Build Settings, Mach-O Type设置Static Library,Dead Code Stripping设为NO:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


Build Active Architecture Only设为NO:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


Build Phases - Headers下将需要暴露的头文件拖到Public下,不暴露的拖到Project***意Public下的.h文件中import的.h文件也需要拖到Public下:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


点击Build Phases左上角+号,选择New Run Script Phase:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


添加如下代码:

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


如图:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


Scheme选择SDK,设备选择Generic iOS Device:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

Command+B编译得到SDK.Framework,这就是我们需要的Framework:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


拷贝SDK.Framework,导入SDKDemo中:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


调用SDK:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


Scheme选择SDKDemo,设备选择模拟器或者真机,Command+R走起:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

调试成功!

然后再试一试SDK中的改动能否同步到Demo中,我们修改一下BackgroundColor:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程


Command+R运行:

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程

成功!

至此,整个过程就完成了,当然这只是万里长征的第一步,接下来就可以正式开发了,我已经闻到了bug大军的气息。。。


最后附上项目在导入SDK后,需要进行的一些配置:

1. General - Embedded Binaries 添加Framework;
2. Build Settings - Enable Bitcode 设为NO;
3. Build Settings - Other link flags 添加 -ObjC -all_load。


祝大家开发顺利!!

相关标签: iOS Framework SDk