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后,需要进行的一些配置:
祝大家开发顺利!!