iOS 使用.xcworkspace文件管理代碼和工程依賴(實現項目模塊化)


一、創建xcworkspace文件。

      在cocoapods安裝后,項目文件里都會多一個后綴為.xcworkspace的文件。打開這個文件就相當打開最初創建的項目了。那么這個文件也就是用來管理項目的,它包含你創建的項目和cocoapods的項目。

     如果手動創建.xcworkspace文件怎么創建,很簡單。打開Xcode 點擊file  -> new -> workspace。

 

創建workspace

二、添加文件到.xcworkspace

      創建好之后打開,現在里面沒有任何工程,那就要添加工程。添加方法有很多 ,可以把之前的工程文件后戳為.xcodeproj文件直接拖進去,也可以右鍵選擇Add files to "XXXX.xcworkspace",選擇你要加入的文件。

添加工程到workspace

或者創建新的工程,在選擇存儲路徑的地方選擇剛剛創建.workspace文件。

自動添加到workspace文件

這樣添加多個就可以在一個文件里面管理多個工程的文件了。操作的也是直接操作的其他工程里的文件。

三、建立工程依賴(模塊化)

      如果你的工程在之前的設計模式是mvc的話,在一個工程里面肯定有很多文件和子文件來區分那個文件代表那個模塊的代碼。那么模塊化就是把這些文件轉為一個一個工程放在里面只要運行一個工程來調用其他工程的代碼。首先要創建子工程,創建framework工程文件。

創建framework文件

在存儲路徑的時候也是選擇.xcworkspace文件目錄。

創建好的文件

大家應該都知道framework文件的作用,就是封裝好的類,可以放到其他工程進行使用。但不能直接進行修改,在外部也看不到framework里面的代碼。建立工程依賴就是利用這樣的方法來實現模塊化的項目框架。下面就是怎么把框架引入工程里。點擊工程文件進入TARGETS ->Build Phases -> Link binary With Libraries 在里面添加framework庫文件。

添加framework

在添加文件的頁面第一個文件夾下就有之前創建的framework文件,直接選擇就好了。

選擇framework文件

      這樣就把創建framework文件添加到了第一個工程里面。現在我們在framework文件里面添加一個繼承自NSObject的文件。在里面寫一個“sayhello”的方法。

在framework里面創建類

創建方法之后就是要把這個類的頭文件寫到“header”文件里面。否在在運行時生成的文件不能被引用。在一塊創建framework的時候打開里面會會發現只有一個.h文件,這個文件是“header”文件,把剛剛創建的類的頭文件import到里面。

把要引用的文件寫在頭文件里

雖然添加好了頭文件但是還是不能引用,如果現在去工程運用這個類,在編譯時會報找不到該文件,因為還少一步。點擊framework工程選擇TARGETS ->Build Phases -> Headers 打開之后發現有Pubilc,Pravte,project三項,把Project里的文件拖到Pubilc里面。這樣就完成了 。現在去第一個工程里面引用剛剛創建的類來執行“sayhello”方法。

 

調用‘sayhello’方法

到此為止就全部結束了 。如果有運行又崩潰的信息有兩個解決方法。

四、解決運行時崩潰的現象。

看看在工程中引入framework文件時后面的status選項是Required 還是Optional

如果是Required就換成Optional  或者在framework文件里面設置庫文件的類型。

 

選擇framework類型

在這個類型選擇上Required 對應的是Dynamic Library   Optional對應Static Libary  選擇好之后運行就可以了。


到此為止全部結束

此貼給初學者看的,大神們如果有任何指正,歡迎評論思密達!



作者:絕版灬懶小孩
鏈接:https://www.jianshu.com/p/4a0841618726
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM