1. 程式人生 > >IOS打包動態庫以及使用的過程和注意事項

IOS打包動態庫以及使用的過程和注意事項

建立IOS動態庫其實也並非什麼難事,因為目前最新版本的Xcode已經支援建立動態庫了。
所謂的動態庫就是將一些可以在多個專案中用到的公用程式碼可以放到同一個工程裡邊,然後打成一個包,這個包的字尾是framework,這個檔案可以引用到多個專案中使用,因為它是一個獨立的程式碼庫,也可稱為第三方庫,相信大家之前也用過其他第三方一些SDK什麼的,這個和那些一樣的用法,下面介紹一下如何建立動態庫的工程:
1. 首先開啟Xcode,通過新建如圖,建立動態庫工程,建立工程的過程和其他工程沒有太大區別,這裡不進行贅述。

2. 建立好工程之後,就可以就行編碼了,當然瞭如果用到了一些資原始檔比如圖片或者其他,這種情況就需要把這些資源放入一個自定義bundle檔案裡,然後通過程式碼的方式對資源進行讀取,不過一定要注意在其他專案引用這個framework的時候一定要在相應專案中引入framework所需要的bundle檔案。

  1. 接下來就是打包framework的過程了,其實非常簡單,首先要做的就是要對工程進行編譯(Build),build完成之後會在Products下會看到xxx.framework,當然動態包也包含debug的包也包含release的包,這個只需要設定scheme下的設定,需要注意的是在編譯的時候需要將編譯對應的裝置設定成真機這樣framework包才會生成。在編譯完成以後可以在products目錄下下找到xxx.framework,然後這個framework就是我們所需要的動態庫了,如果需要真機和模擬器一起可以使用farmework包那麼就應該要去將真機包和模擬器包使用命令列合到一起,命令格式為lipo -create dic/xxx.framework/xxx dic2/xxx.framework/xxx -output xxx,其中dic和dic2代表生成framework的兩個目錄,一個是iphones一個是iphonesimulator,而xxx.framework其實就是我們在build過後生成的framework包了,最後output後邊的xxx 其實就是最後合成生成的檔案,最後將檔案覆蓋到iphones裡邊,就會替換原有的xxx檔案,具體目錄結構如圖

    上圖紅色箭頭所指部分為生成合成檔案將要覆蓋的檔案,覆蓋完成後可以直接將Release-iphones裡邊將framework檔案拿來直接用了,可以用於真機和模擬器的framework動態包就出世了。

  2. 用法和其他framework用法完全一致,注意事項就是在引用生成的framework的同時需要在工程中引入生成的framework的相關其他引用即系統以及第三方的framework的引入以及靜態庫的引入,還有一個設定是在other linker flags下設定-ObjC,整個過程就是這樣。



檢視原文:https://www.liuandy.cn/ios/2018/01/31/2299.html