天天看點

使用CocoaPods進行開發的一些問題及政策

在iOSApp開發過程中提PR占去的時間較多,現就開發中常見的問題及解決政策做小小結:

  1. pod install過程中出現依賴庫版本沖突。
    • 政策:對版本号不一緻的pod的Podfile進行依賴庫版本号更新。
  2. pod install後,build過程中某些被引用的頭檔案找不到源。
    • 這可能是一個需求多個pod同時本地開發造成的。
    • 解決政策:大緻确定找不到源的頭檔案所在的pod,然後在Podfile中暫時以commit号的形式引入包含頭檔案的pod。如果找不到頭檔案所屬的pod,且被引用頭檔案是新加入到檔案中的,可以通過blame看到是誰引入該頭檔案,然後問下對應的同僚。
    • 避免發生該問題的政策:在每次多pod開發過程中,功能開發完成後,對于依賴别的pod的獨立工程(pod)進行pod install,然後運作一遍,确定該獨立工程是能夠運作的,然後再提PR。
  3. 以tag号進行發版的pod,當有新功能加入時,必須更新版本号,依賴該pod的其他獨立pod才能使用新功能。使用

    pod update 該pod

    ,并不會更新到新的commit,因為是以tag号為準。

    (不像

    :branch => 'branch名稱'

    ,此時用

    pod update 該pod

    ,會盡量更新到該pod的最新commit)。

    如果發版的pod僅更新了遠端倉庫,還沒來得及更新版本号,而這時别的pod開發急需用到待發版pod的新功能,可以利用commit号将待發版pod引入開發工程中,進行開發。

  4. 由于現在大部分pod已經獨立化,對于獨立工程開發,可以僅在獨立工程中開發。

    未獨立化pod開發流程:

    1.拉下主工程和待開發pod

    2.将主工程Podfile中待開發pod的路徑指向本地待開發pod。

    3.在主工程中開發,完成後,切到待開發pod檔案加下,送出完成的代碼。