iT邦幫忙

2022 iThome 鐵人賽

DAY 30
0
Mobile Development

iOS菜逼八連續30天挑戰-2系列 第 30

iOS菜逼八連續30天挑戰 淺談開發上一些問題跟專案管理的筆記分享(由dcard分享)

  • 分享至 

  • xImage
  •  

今天要淺談一下,之前參加decard開發者分享的筆記,是有關開發上跟一些專案管理有關的筆記分享
https://fb.watch/g0418IFJQ
開發專案管理遇到的問題

  • Merge conflict 且不好閱讀 ->多人同時修改到同一個檔案等等原因
  • Target 在專案中是create by refrence
  • module 就是第三方套件,可以理解成模組 framework等等....

優點,或是特性:

  • 在xcode中隨意移動Groups的檔案(夾),只是它在xcode中目錄結構改變了,它的實際儲存位置不受影響,原來儲存什麼位置,還是那個位置。

  • 2.在xcode中修改Groups的資料夾的名字,group名字變了,資料夾的實際儲存名字不變,但如果修改Group的檔案的名字,實際儲存檔案的名字會變。

  • 3.不管該group在xcode中如何移動,它對應的實際資料夾不變。

  • 4.Group的資料夾都會對應盤上的一個實際儲存的資料夾位置。往這個group中新新增檔案,該檔案會儲存到group對應的實際資料夾中。

缺點:

  • 1.當有多個target的時候,必須 set the proper target membership for each file。

  • 2.在finder中,專案的資料夾中可能有資料夾A,但是在x'code project中並沒有資料夾A,Because of the mismatch, locating files can get confusing。



Parallelism 並行性,也就是多人開發同個專案不會有上述問題發生,或是發生次數大大減低


自己的理解是,用來管理很多個project的方式。
以前我們的做法是,把客製化UI的檔案分成譬如model,畫面把它叫做view或是VC,把他分門別類,一個個模組化,這是把「整個APP」模組化


這裡其他兩個選項好像不符合DCARD的需求就沒有採用了,詳細原因我也忘了

這邊就是上面說的把APP模組化,這樣在呼叫的時候就可以向檔案一個個把他呼叫出來(個人理解)



如何優化Build time,靜態或動態庫太多,或是太大包都會對編譯時間有比較明顯的影響。

簡單粗暴的方法除了優化code,你換一台m1會更有感,起碼我是蠻有感的

優化code:
從cocoapods改用swift package來安裝第三方套件

CocoaPods

較為主流的方式
我認為最簡單的套件管理方式

Swift Package Manager

官方支持
支援的Package較少
會遇到的問題很多

使用SPM帶來的好處:

簡化的定義流程:將檔案放入約定的目錄內即可一鍵打包。
簡化的 SPM 版本管理:Xcode 會根據定義檔案首行說明自動查詢相容的解決方案。
簡化的上手流程:不需要安裝工具,也不需要命令列安裝元件。
良好的持續整合能力:在完成專案配置以後,xcodebuild 無縫銜接,自動拉倉。
良好的相容性:可與現有的大多陣列件管理方案混用。
良好的除錯能力:斷點快狠準。


https://medium.com/彼得潘的-swift-ios-app-開發問題解答集/使用-spm-安裝第三方套件-xcode-11-新功能-2c4ffcf85b4b
https://xiaosean.github.io/ios/2018-04-06-IOS-package-manager/


上一篇
iOS菜逼八連續30天挑戰-2 用Firebase當作登入系統-6
系列文
iOS菜逼八連續30天挑戰-230
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言