成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在寫一個iOS應用之前必須做的7件事(附相關資源)

移動開發
如果你提前花些時間正確設置項目,你將會為將來節省大量的時間。如果你是一位獨立開發者,你可能意識不到下面提到的這些步驟的重要性。大多數優秀的應用程序都由團隊開發,如果遵循以下步驟,肯定能幫你減少挫敗感并提升應用質量。

這兩年,我一直在編寫并發布有質量的iOS 應用。我發現大多數的開發人員有直接跳進編碼應用程序的核心邏輯的傾向,因為這是樂趣所在。遵循流程開發是很無聊的。

我了解到最有效的方式是,如果你提前花些時間正確設置項目,你將會為將來節省大量的時間。如果你是一位獨立開發者,你可能意識不到下面提到的這些步驟的重要性。大多數優秀的應用程序都由團隊開發,如果遵循以下步驟,肯定能幫你減少挫敗感并提升應用質量。

1.為工程設置編碼風格規范

編碼風格規范指的是在使用特定語言寫代碼之前要明確遵守的風格和慣例,它包括類似于該使用tab鍵還是空格鍵,如何命名變量以及特定語言本身的約定俗成(像swift語言中是否該使用Classes還是Structs)。

編碼規范本身沒有孰對孰錯。在項目開始前,你可以設置自己的編碼風格,但是必須保證同組的人遵守相同的規范。編碼規范能夠保證代碼更加統一和更易于閱讀。

一些公司已經開源了Objective-C和Swift語言的編碼規范。

2.在寫代碼之前確定應用的架構

在寫代碼之前,確定應用架構是非常重要的。一個好的架構可以提升應用的可測試性,更加易于理解并且能降低維護成本。你可以使用傳統的MVC架構,或者使用更加流行的MVVM或VIPER架構,這里提供了大量的資源來介紹這些架構。

 

Modern application architectures (Reactive programming, MVVM and beyond)

 

3.設定應用的目錄結構

為了使數以百計的源代碼文件至始至終保存在相同的目錄中,最好是根據項目的架構制定目錄結構,例如,你可以使用以下的目錄結構:

首先,在Xcode的Project Navigator中工程名稱分組下面,以group的形式創建它們(小黃色的文件夾),然后,通過打開Xcode右邊的File Inspector,為每個創建的group鏈接到真實的項目路徑下對應的目錄,點擊File Inspector中小的灰色的文件夾icon,在工程目錄下創建對應group名稱的子目錄。

這個看起來是件小的事情,卻可以使你的項目更加有條理且易于理解。

了解更多目錄結構可以參考以下資源:

4.項目依賴管理

你當然會在項目中使用第三方庫,在項目中,你可以有三種方式可以管理項目依賴。

CocoaPods是適用于Swift和Objective-C Cocoa項目的依賴管理庫,它有將近10000個開源庫,可以優雅地幫你管理項目的規模。它是最有效的方式做依賴管理,就像Ruby中的Gems。

Youtube上有一個google開發者創建的滑稽的視頻(地址,需翻墻)來解釋為什么必須在項目中使用CocoaPods。

  • Github Submodules

你也可以使用Github Submodules管理你的項目依賴作為子庫,相比CocoaPods,Github Submodules的優點在于它是sub-repos- 這不僅意味著git和git GUIs能夠隱式識別他們,并且也可以獲得更多支持,同時意味著你的工程依賴能夠更加緊密的聯系到他們的git倉庫,而Cocoapods則不能。

submodules的問題是:你的工程不擁有你依賴庫的源代碼,僅僅是擁有一個引用到submodule的倉庫。大多數情況你控制不了這些代碼倉庫。

Carthage被認為是往Cocoa應用中添加框架的最簡單的方法。Carthage使用xcodebuild編譯framework二進制,但是把集成的任務留給了用戶。CocoaPods的目的是對用戶簡單,但是Carthage對用戶來說是靈活的、不干涉的。

不幸的是,Carthage的最大的缺點是----只支持iOS8及以后版本。

這三個當中,我最常用并且我個人最喜歡的是CocoaPods,因為它設置超級簡單,并且提供了數以千計的第三方庫供你訪問。

5.為應用設置合適的Scheme

當你點擊了Run、Test、Profile、Analyze或者Archive 操作后,Schemes告訴Xcode什么會發生。通常,每個操作對應一個target和一個編譯配置。你也可以傳遞啟動參數,比如應用運行的語言(測試本地化很有用)或者debug時設置一些判斷的標識位。

建議Scheme的命名規則采用MyApp () [Environment]:

 

你也可以使用Target制作不同的發布、測試以及開發來編譯程序,如以下描述:

6.設置合適的Certificates和Provisioning Profiles

在測試和發布應用過程中,這個是開發者最頭疼且重要的步驟。證書對代碼簽名來說是必須的,你可以在真機上運行應用程序。

有兩種類型的證書:

  • 開發證書:每個團隊的開發者都有自己的證書,需要請求生成。Xcode會為你做這些,但是最好不要點擊“Fix issue”按鈕,并且能夠理解點擊這個按鈕會真正執行什么。開發證書是發布應用的開發版本到設備上。

  • 發布證書:可以有多個,但是最好保持一個公司一個發布證

    書,通過內部渠道分享相關的秘鑰。發布應用到App Store時需要這個證書,或者是公司內部的企業級應用分發。

  • Provisioning Profiles

Provisioning Profiles 可能是系統中最容易引起混淆的部分了,如果你訪問蘋果開發者網站,你會注意到你可以創建兩種類型的Provisioning Profiles(開發和發布)。Provisioning Profiles是“以這個證書的私鑰作為簽名的應用可以在這些設備上正常運行: https://www.quora.com/What-are-the-differences-between-certificates-provisioning-profiles-and-identifiers

你可以閱讀更多相關資源:

7.設置應用持續集成和交付過程

建立一個持續集成和交付過程已成為關鍵,因為現在它可以幫助您在開發早期發現bug和節省大量的開發人員的時間。

持續集成 (CI) 是一種開發實踐,要求開發人員一天將代碼同步到共享存儲庫幾次。每次提交都會用自動腳本進行驗證,可以使團隊盡早的發現問題。

很多工具可以幫你做iOS應用程序的持續集成,比如 Xcode Server、Jenkins和Travis CI。

 

持續交付 (CD) 是一個軟件工程的方式,可以使團隊在短周期內開發軟件,確保軟件可以在任何時間可靠地發布。它旨在更快、更頻繁地構建、測試和發布的軟件。

為什么使用持續交付?

  • 可以在準備應用提交、上傳截圖以及發布應用上節省數天時間。

  • 如果在同事休假期間,但你發現一個嚴重問題需要修復并發布怎么辦?在發布更新版本時不需要依賴某一個人。

  • 通過更頻繁和小版本的更新,提高軟件質量和反應時間。

雖然有大量的工具供持續交付,我個人最喜歡的是Fastlane。它非常容易安裝,并提供了一些強大的功能,可以使你整個的編譯和發布過程自動化。

如果你喜歡這篇文章,歡迎推薦,以便其他人也可以看到。

責任編輯:倪明 來源: CocoaChina
相關推薦

2015-08-05 09:31:42

開發六件事

2013-12-12 10:37:52

2020-12-30 12:43:09

JavaScript開發編程語言

2017-11-14 07:05:26

物聯網IT高管數字化

2015-06-15 12:39:20

程序開發者注意件事

2017-04-26 16:24:49

路由器5GHz頻段

2020-09-11 14:28:59

智能

2015-04-09 09:53:08

CA TechnoloDevOps

2013-08-13 09:44:42

iOS 7開發者

2021-11-18 22:33:25

Windows 11Windows微軟

2022-04-19 07:48:16

JavascriptCSS

2013-01-06 10:51:56

2010-11-01 11:23:16

2020-07-01 23:17:13

物聯網設備物聯網IOT

2022-02-23 11:19:14

開源軟件軟件開發

2020-05-27 10:46:49

Kubernetes容器云計算

2022-02-28 15:28:43

開源云時代軟件

2022-09-29 08:03:20

?Kubernete容器共享池

2017-08-14 15:34:14

廣州

2018-11-01 15:50:24

MongoDB服務器數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩国产欧美在线观看 | 亚洲精品乱码久久久久久蜜桃 | 天堂av中文在线 | 欧美激情久久久 | 色综合一区 | 亚洲国产成人久久综合一区,久久久国产99 | 99久久婷婷国产综合精品电影 | 欧美一区二区三区在线观看 | 亚洲一区不卡在线 | 超碰在线人人 | 女同av亚洲女人天堂 | 成人国产精品一级毛片视频毛片 | 国产精品1区 | 欧美在线a | www.五月天婷婷.com | 免费看国产精品视频 | 久久99国产精一区二区三区 | www.888www看片 | 欧美视频一区二区三区 | 成人亚洲精品久久久久软件 | 久久伊人亚洲 | 一区二区三区四区在线免费观看 | 国产999精品久久久影片官网 | 一级高清免费毛片 | 日韩精品成人在线 | 国产成人精品免费 | 国产成人免费视频网站视频社区 | 超碰国产在线 | 精品久久av | www.婷婷 | 午夜精品久久久久久久久久久久久 | 成人欧美一区二区三区在线播放 | 成人毛片视频免费 | 国产成人精品一区二区 | 久久国产美女视频 | 色五月激情五月 | 久久成人午夜 | 国产精品久久九九 | 9久久精品 | 黄网站免费入口 | 中文字幕国产精品 |