App Development Overview
Introduction
About the Application Development Process
沒有比替iOS和Mac OS X去寫app的更好機會了.Apple提供的工具使發展程式變得容易及直接.這份文件把發展app的階段以高層次的視界呈現,從建立一個團隊到回應來自使用者的回饋.
這份文件帶你走過替App
Store發展app的過程.在你讀完這份文件之前,你應該已準備好了去組織你的團隊並籌劃去設計,寫程式,及發佈你的app於App Store上.
Developing for Apple’s Platforms Is a Mix of
Administrative and Coding Tasks
發展你的app的時間大部份是花在寫code的工作上,但是在整個過程中,你也必須要執行一些管理的工作.這些混在一起的工作可以由一個發展人員處理,或者,這些工作可分給發展團隊中的不同的人.
大部份管理的工作在計劃發展的開始及結尾時出現.例如,當你發展你的第一個app,一個人必須和App簽約以成為一個Apple發展人員.這人人,也就是團隊的代理人,替團隊擔負起法律的責任,替團隊加入成員並定義每個人的責任和權限.
Apps Published on the App Store Must be Approved by
Apple
App Store是一個策劃好的商店,且限制可以在App
Store上販賣的app. Apple這樣做是為了提供盡可能最好的經驗給使用者.例如,在App Store上販賣的app不能當機或展現出大的缺失.發表app過程中的主要部份是向Apple提出申請以得到認可.
Apps Published on the App Store Must Be
Cryptographically Signed
簽署code是用來提供一層保全給使用者, 你的發展團隊及Apple. 簽署一個app使得它對惡意的破壞有抵抗力;若一個攻擊者修改了app,它無法再被執行,因為程式的簽署被破壞了.若簽署過的app包括了惡意的code,簽署程式也提供了明顯的連帶的責任.雖然iOS和Mac OS X要求簽署code以在App Store發佈app, iOS更進一步地採用這項保全措施,除非app是被簽署過的,否則沒有任何app可以在iOS上執行,即使是在發展過程中.
The Majority of Your Coding Time Is Spent in Xcode
Xcode把寫程式,除錯及user
interface的設計整合在一個發展環境裏.你在整個發展過程中使用Xcode,甚至於當你準備好要提出對你的app認可的申請時.當你安裝Xcode時,其他的app隨著Xcode一起被安裝以用來改善你的app的品質.例如,應用程式”instruments”提供了許多的工具來記錄及分析一個app在執行時是如何反應的資料.使用這資料,你可制定計劃去確保你的app執行地正確並且有效率.
Administrative Tasks are Performed with Several
Resources
當你管理一個團隊,你使用各式各樣的資源來執行工作.這裏是一些常用的資源:
n
“Member Center”網站主要被團隊代理人使用去邀請會員去加入一個發展團隊及設定他們的權限層級.
n
“iOS Provisionging Portal”被用來替你的團隊產生簽署code的資源.團隊的管理者使用這些工具來提供給團隊的成員必須的簽署code的資源.
n
“iTunes Connect”網站被使用於管理你的app發展在商業方面相關的資訊,包括了銷售和財務方面的資訊,你的app在App Store上顯示的資訊,及你的app儲存在Apple伺服器中的資訊. 加上”Member Center”的配合,團隊的代理人決定了每一個團員被允許去存取”iTunes Connect”的次數.
Many Behaviors of an App Are Defined by Data, Not Code
除了你寫的code外.你提供的資料被用來定義商店如何展示你的app及你的app如何執行.這資料甚至於影響作業系統不執行它時該顯示什麼關於app的訊息.
有些資料隨著執行檔儲存在檔案中,這種混合了資料和執行檔的方式被稱為application bundle.其他的資料被存在Apple的伺服器,例如,在App Store顯示的資訊主要被存在iTunes Connect.不論資料被放在那裡,你需要了解到一個app不僅僅是一個執行檔,它存在於一個由code,資料及服務組成的生態系統.
How to use This Document
不論你在發展團隊中扮演的角色為何,你應該讀這份文件去更了解一個團隊必須遵照的步驟以發展App Store上的app.
若你是個程式設計者,先讀以下的文件後再來讀這份文件將會使你對一些本文提到的概念有更深的體會:
n
iOS: your First iOS App
n
Mac OS X: Your First Mac App
留言