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後,需要進行的一些配置:
祝大家開發順利!!
相關文章
- ArcObjects SDK開發 021 開發框架搭建-FrameWork包設計Object框架Framework
- 開發筆記:PDF生成文字和圖片水印筆記
- iOS開發備忘筆記 (3)iOS筆記
- iOS開發備忘筆記 (2)iOS筆記
- iOS開發之 Autolayout 詳解iOS
- NDK學習筆記-NDK開發流程筆記
- 開發筆記:使用 mpvue 開發鬥圖小程式筆記Vue
- iOS開發筆記(九):UIViewController的生命週期iOS筆記UIViewController
- ESP32的SDK開發之window系統下eclipse開發環境搭建Eclipse開發環境
- OS開發筆記(2)——GRUB啟動流程筆記
- iOS開發學習筆記:基礎知識之代理模式之老王的故事iOS筆記模式
- iOS開發之FuckingBlockSyntax!iOSBloC
- iOS開發之XLForm的使用iOSORM
- iOS開發之記憶體與快取iOS記憶體快取
- iOS開發-圖片UIImageiOSUI
- iOS開發備忘筆記 (持續更新中)iOS筆記
- iOS開發之逆向工程iOS
- iOS之Wifi開發探究iOSWiFi
- iOS之BLE藍芽SDK開發個人總結(進階篇)iOS藍芽
- iOS之BLE藍芽SDK開發個人總結(基礎篇)iOS藍芽
- IOS技術分享| iOS快速生成開發文件(二)iOS
- IOS技術分享| iOS快速生成開發文件(一)iOS
- Flutter 混合開發FlutterBoost iOS 接入流程FlutteriOS
- Android開發筆記[13]-圖案密碼Android筆記密碼
- golang 開發筆記Golang筆記
- Laravel 開發筆記Laravel筆記
- uinapp 開發筆記UIAPP筆記
- Android開發筆記Android筆記
- fyne 開發筆記筆記
- FFmpeg開發筆記(五):ffmpeg解碼的基本流程詳解(ffmpeg3新解碼api)筆記API
- 記一則iOS封裝SDK的開發過程之WebView與JS的互動iOS封裝WebViewJS
- 研發流程在敏捷開發中的詳解敏捷
- iOS開發之彈窗管理iOS
- 玩轉iOS開發:iOS中的NSOperation開發(一)iOS
- ESMap三維地圖開發流程地圖
- Mybatis筆記04---使用註解開發MyBatis筆記
- iOS開發筆記— 資料庫、Crash、記憶體問題分析iOS筆記資料庫記憶體
- FFmpeg開發筆記(十五)詳解MediaMTX的推拉流筆記