相信各位讀了之前的兩篇文章,對pods的使用已經(jīng)相當熟練了。不過在紛繁復(fù)雜的實際使用場景下,可能還是會遇到一些問題。本文就結(jié)合自己的實踐經(jīng)驗,做一些快問快答,希望大家能多多補充交流。話不多說,那我們就即刻開始吧!
創(chuàng)新互聯(lián)建站專注于潤州企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。潤州網(wǎng)站建設(shè)公司,為潤州等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
pod系列文章
Cocoapods,讓iOS開發(fā)更簡單(一):走近Cocoapods
Cocoapods,讓iOS開發(fā)更簡單(二):創(chuàng)建私有庫
Cocoapods,讓iOS開發(fā)更簡單(三):實踐經(jīng)驗匯總
一文帶你快速分清靜態(tài)庫-動態(tài)庫-Framework
一般推薦使用指定版本或范圍版本號,以確保依賴的穩(wěn)定性。
總結(jié) :能用pod install解決問題的,就不要用pod update。因為pod update會把依賴庫全部檢查一遍,不僅慢有時候還會出現(xiàn)坑。
忽略Pods警告,有些第三方Pod集成進來會有一大堆警告信息,在Podfile中對應(yīng)的target或分組下加上關(guān)鍵字inhibit_all_warnings!就可以把警告忽略。
作用:
在pods中用frameworks替代.a靜態(tài)庫。
場景:
swift項目pods默認開啟(use_frameworks!),OC項目pods默認關(guān)閉(#use_frameworks!),同時需滿足以下兩點,
解析:
swift工程依賴了OC工程的話,需要use_modular_headers!
示例:
為某個 Pods 使用模塊化標頭,可以使用以下語法:
pod 'TestPodLib', :modular_headers = true
另外,當全局使用 use_modular_headers! 屬性時,同時還可以使用以下方法從模塊化標頭中排除特定的Pod:
pod 'TestPodLib', :modular_headers = false
版本格式:主版本號.次版本號.修訂號,版本號遞增規(guī)則如下:
常用的方式調(diào)用pod中的素材是不生效的,因為默認是從mainBundle中讀取的,如
打在pod中的素材已經(jīng)不在mainBundle中而在對應(yīng)組件下的bundle 里面,所以應(yīng)該這么調(diào)用:
在用CocoaPods集成第三方庫之后,默認情況下,使用類似#import XXX/YYY.h的方式引入第三方庫的頭文件。
pod search只會搜索本地緩存的庫,如果想搜索到最新的第三方框架或者某個框架的最新版本,必須先使用pod repo update。
公司開發(fā)的SDK,是集成了各個平臺的商品,包括購買、分享、提現(xiàn)等功能,為了加快進度,我是使用了一些第三方。但是有些需求,比如分享到微信朋友圈或者還有,必須用到微信的SDK??紤]到后期的維護成本和集成,筆者采用了cocoapods管理第三方庫。
筆者有片文章專門介紹SDK的開發(fā)步驟的,大家可以參考,我這里就直接進入主題了。
首先,你創(chuàng)建一個靜態(tài)的framework工程MyTestSDK,把這個工程集成cocpapods,至于如何集成cocpapods,網(wǎng)上有教程,自己搜索。這個時候把你項目中所用的第三方庫添加到Podfile文件中,然后 pod install。這個時候你command + B 編譯運行,如果你的第三方庫中還有Bundle資源,那么編譯后,第三方庫的bundle資源會被編譯,一起放到Products文件下的framework文件中,右鍵Show in Finder就會看到。如下圖所示的MBProgressHUD文件夾,里面都是MBProgressHUD第三方的資源文件。
然后把你的項目放入SDK工程中,編譯運行一下,看看有沒有錯誤。之所以先把SDK工程選用cocoapods管理,就是怕你的項目放入SDK中運行報錯。沒有任何問題,直接編譯即可。
由于SDK中的第三方是通過cocoapods管理的,所以接入者的項目也要用cocoapods管理。
1:把SDK工程中,Products文件夾下的framework文件copy到項目中,最好項目中建立一個文件夾,專門放SDK和bundle。我是放到了一個文件夾中,方便分類尋找。如下圖所示:
2:打開終端,cd到SDK所在的文件夾下,執(zhí)行如下命令,回車,創(chuàng)建spec文件。
其中,MyTestSDK是你的SDK名稱。
創(chuàng)建出來的spec文件,是個很長的文件,但是大部分都是注釋的,我這里只提取了有用的信息展示出來:
然后把spec中依賴的第三方庫,逐個加入到項目中的Podfie文件中。然后 終端打開,cd到自己的項目中,pod install即可。
本人親自測試過的,No Problem。當初感覺SDK如果依賴了第三方庫,接入的項目中也有同樣的第三方庫,會不會沖突啊,感覺好難搞啊。事實證明,通過spec進行依賴,可以很好的解決這個問題,也就沒有那么麻煩了。
首次開發(fā)SDK還是遇到了很多問題,運行出現(xiàn)很多bug,但是最后還是一一解決了,就是沒有記錄下bug和解決發(fā)的方法。
1;path路徑不對,就會報錯 ,如下
是因為我把路徑寫成了:
其實正確的寫法是:把“/”放在前面
2:SDK中有第三方,但是項目中的Podfile里面沒有這個第三方,報錯如下所示:
解決辦法是就是在項目中的 Podfile里面加入缺失的第三方庫,重新 pod install。
基礎(chǔ)是要過關(guān)的,oop、多線程、db、基本算法或數(shù)據(jù)結(jié)構(gòu)是必須的。
還要熟練掌握Objective-C語言,C/C++語言;3.熟悉Cocoa開發(fā)框架,包括UI、網(wǎng)絡(luò)等方面,熟悉IOS開發(fā)工具和相關(guān)開發(fā)測試工具的使用,掌握常用的數(shù)據(jù)結(jié)構(gòu)與常用算法,較好的邏輯思維分析和表達和溝通能力,要有一定的自學(xué)能力,較強的團隊協(xié)作意識。
更多關(guān)于ios游戲開發(fā)需要哪些知識,進入:查看更多內(nèi)容