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

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




2.创建Framework:



选择Cocoa Touch Framework:




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




3.创建SDKDemo:

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




加入SDKWorkspace:




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

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



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



Build Active Architecture Only设为NO:



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



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



添加如下代码:

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


如图:



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


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



拷贝SDK.Framework,导入SDKDemo中:



调用SDK:



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



调试成功!

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



Command+R运行:


成功!

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


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

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


祝大家开发顺利!!

猜你喜欢

转载自blog.csdn.net/zzyeeaa/article/details/79744996