使用Xcode建立framework的一些使用筆記

2021-07-10 17:18:30 字數 1279 閱讀 1799

最近由於業務的拓展,準備開始開發mac上產品,之前為ios版本的產品設計過一套framework[建立你自己的framework]( 所以現在需要原先ios上使用到的核心sdk進行公升級移植。於是開始對原先**繁瑣的重構和移植工作,深切感受到乙個良好的設計對乙個專案的重要性。
一、平台無關性

對於一些核心的業務功能、如與後台伺服器互動、認證的流程的設計需要考慮到普適性,比如針對ios開發的sdk/framework,最初的目的只是為了ios開發的便利,使用到了一些ios平台的特性或第三方庫,可到了需要移植到mac上時,原先的**的使用價值就變低,需要進行大量的**重構工作。將核心業務去平台化。

二、ui與業務分離

拿到ios版本的sdk後,簡單檢視發現最初的開發只是為了實現功能,將所有的業務交織在viewcontroller中,與介面ui深度耦合,壞處顯而易見:viewcontroller臃腫不堪、大量**冗餘(不同ui介面相同的業務流程又是一遍重寫)、除錯bug困難重重。

對於目前發現的問題開始對原先的業務進行重新設計開發,首先將核心業務功能進行封裝,其次使用封裝的核心業務對sdk中的ui互動進行二次開發和封裝。將核心業務功能分離封裝,去平台化,方便業務的移植,不同系統下只需要對ui互動進行針對性開發即可。

三、framework開發與demo驗證的實時同步

framework/sdk開發時,直接將sdk的xcode專案丟入demo的xcode專案中進行開發與驗證,但是對於ui互動開發就存在一些不便,需要及時將sdk中修改過的資源檔案(打包在bundle中)及時更換到demo下,才能看到最新的設計效果,但有時候難免忘記。昨天就出現一次,修改過了sdk乙個xib介面,重新執行demo卻看不到預想的效果,花了2、3個小時去找問題,檢視了各個環節,才最後發現是bundle未及時更新。於是想到了以前看過乙個郭冬臨的小品,用勺子嘗湯的鹹淡,喝著同一勺子裡的湯,卻一直覺得湯不夠味道,不斷往湯裡加鹽。

其實這是乙個簡單的問題,但是有時候卻恰恰容易被忽略,需要寫了一段見到sh命令,實時更新bundle資源:1.將原先的bundle刪除;2.將最新編譯出的bundle檔案拷貝到demo路徑下
rm -rf ../***framerowkdemo/***framerowk/***bundle.bundle

cp -r "$target_build_dir/***bundle.bundle"

"$/***bundle.bundle"

mv ***bundle.bundle ../***framerowkdemo/***framerowk

使用cocoaPod發布 更新Framework

這裡面簡單的描述一下,發布的自己的framework的幾個簡單的步驟 使用git命令copy到本地倉庫 git clone 你的git位址編輯你的podspec檔案,下面是工程檔案的含義。s.name baseframework 工程的名字 s.version 0.0.1 工程的版本 s.summa...

Xcode建立Object C程式

進入主介面方式 開啟 xcode 之後,可以使用 xcode 選單,但是必須建立乙個 object c 工程 或者 匯入 乙個 object c 工程才可以進入主介面 開啟現有工程 點選右邊的歷史記錄,就可以開啟現有的工程 建立工程 點選第二個 create a new xcode project ...

Xcode使用技巧 Xcode除錯方法

這裡記錄一下自己學習到的一些xcode除錯的方法。這些除錯方法可以讓我們使用xcode編寫 進行除錯時用起來更順心應手。xcode的除錯方法包括執行時設定斷點,列印到控制台,手寫命令列印等。在xcode中需要觀察的變數所在的 處新增斷點,可以讓程式執行到這裡暫停。這時滑鼠懸停在變數名處,xcode會...