引入簡(jiǎn)書(shū):http://www.jianshu.com/p/b600c16308f4
# iOS開(kāi)發(fā)筆記 - 上線流程
>

> 在開(kāi)始講述上線流程之前,我們假設(shè)你已經(jīng)擁有了Apple ID,但是還沒(méi)有成為付費(fèi)的開(kāi)發(fā)者,我們就從申請(qǐng)成為付費(fèi)開(kāi)發(fā)者開(kāi)始。
>

圖1. 用瀏覽器打開(kāi)蘋(píng)果開(kāi)發(fā)者網(wǎng)站
* * * * *

圖2. 使用Apple ID登錄開(kāi)發(fā)者網(wǎng)站
* * * * *
> 注意,如果你是第一次使用你的Apple ID登入蘋(píng)果開(kāi)發(fā)者網(wǎng)站,你會(huì)看到如下所示的頁(yè)面,這個(gè)時(shí)候你需要同意“蘋(píng)果開(kāi)發(fā)者協(xié)議”,并提交你的請(qǐng)求,這個(gè)時(shí)候你的Apple ID就已經(jīng)成為一個(gè)開(kāi)發(fā)者ID了。

圖3. 蘋(píng)果開(kāi)發(fā)者協(xié)議頁(yè)面
* * * * *

圖4. 同意蘋(píng)果開(kāi)發(fā)者協(xié)議并提交申請(qǐng)
* * * * *

圖5. 加入蘋(píng)果開(kāi)發(fā)計(jì)劃
* * * * *
接下來(lái)的頁(yè)面中你會(huì)發(fā)現(xiàn)一個(gè)注冊(cè)的按鈕,點(diǎn)擊它就可以申請(qǐng)成為付費(fèi)的開(kāi)發(fā)者了。

圖6. 點(diǎn)擊注冊(cè)按鈕
* * * * *

圖7. 點(diǎn)擊開(kāi)始注冊(cè)
* * * * *
在接下來(lái)的頁(yè)面中選擇開(kāi)發(fā)者類型后就可以繼續(xù)了。

圖8. 選擇開(kāi)發(fā)者類型并繼續(xù)
* * * * *
> 注意:個(gè)人開(kāi)發(fā)者需要每年支付99美元的費(fèi)用,而企業(yè)開(kāi)發(fā)者需要每年支付299美元的費(fèi)用。
> 接下來(lái)需要填寫(xiě)一大堆的注冊(cè)信息,而且需要本土語(yǔ)言和英語(yǔ)兩種版本,然后還得再次同意一個(gè)你不太愿意閱讀但是必須得同意的協(xié)議。點(diǎn)擊“Continue”后會(huì)進(jìn)入下一個(gè)頁(yè)面,如果剛才的信息無(wú)誤,就再次點(diǎn)擊“Continue”按鈕進(jìn)入準(zhǔn)備支付的頁(yè)面。

圖9. 填寫(xiě)注冊(cè)信息
* * * * *

圖10. 同意協(xié)議并且繼續(xù)
* * * * *

圖11. 點(diǎn)擊支付按鈕
* * * * *
> 接下來(lái)還得登錄一次,然后終于可以把錢付給Apple了,真是不容易啊,不過(guò)你還得有Visa信用卡或者是MasterCard。
>

圖12. 再次登錄
* * * * *

圖13. 填寫(xiě)付費(fèi)信息的頁(yè)面
* * * * *
> 剩下的步驟你就按照網(wǎng)頁(yè)上的提示操作就可以了,國(guó)內(nèi)的很多銀行在進(jìn)行境外支付時(shí)可能會(huì)給你來(lái)電話確認(rèn)支付授權(quán),所以上面填寫(xiě)的信用卡信息以及賬單聯(lián)系人信息必須匹配,否則基本上會(huì)支付失敗,即便你通過(guò)網(wǎng)上銀行開(kāi)通了境外支付。在上面的頁(yè)面中還需要填寫(xiě)發(fā)票信息,如果需要機(jī)打發(fā)票的話這里的信息就不要填錯(cuò)了哈。
> 支付成功后,蘋(píng)果會(huì)在48小時(shí)內(nèi)對(duì)訂單進(jìn)行處理,然后你可能會(huì)收到郵件要求到指定的頁(yè)面上傳身份證照片。如果遇到任何問(wèn)題,你可以撥打蘋(píng)果開(kāi)發(fā)的售后服務(wù)電話,號(hào)碼是4006701855。成為開(kāi)發(fā)者后再次登錄,就會(huì)看到如下所示的頁(yè)面。

圖14. 成為付費(fèi)開(kāi)發(fā)者后重新登錄
* * * * *

圖15. 付費(fèi)開(kāi)發(fā)者登錄后的界面
* * * * *
> 上圖中點(diǎn)擊紅框的鏈接可以進(jìn)入創(chuàng)建證書(shū)、應(yīng)用ID和Profiles文件的頁(yè)面;點(diǎn)擊籃框的鏈接可以進(jìn)入管理自己的App的頁(yè)面。

圖16. 創(chuàng)建證書(shū)的頁(yè)面
* * * * *
> 點(diǎn)擊上面頁(yè)面中左側(cè)的證書(shū),并在右側(cè)點(diǎn)擊“+”就可以創(chuàng)建證書(shū)。
>

圖17. 選擇證書(shū)類型的頁(yè)面
> 在上面的頁(yè)面中選中紅框中的選項(xiàng)可以創(chuàng)建開(kāi)發(fā)證書(shū),主要用于真機(jī)測(cè)試;選中藍(lán)框中的選項(xiàng)可以創(chuàng)建產(chǎn)品證書(shū),用于應(yīng)用上線到App Store或小范圍發(fā)布。我們下面要演示完整的項(xiàng)目上線流程,因此在這里選擇藍(lán)框中的選項(xiàng)“App Store and Ad Hoc”并點(diǎn)擊“Continue”按鈕繼續(xù)。
> 接下來(lái)的頁(yè)面會(huì)提示你創(chuàng)建證書(shū)需要一個(gè)證書(shū)簽名請(qǐng)求文件,因此我們需要在自己的Mac系統(tǒng)上使用“鑰匙串訪問(wèn)”應(yīng)用創(chuàng)建一個(gè)證書(shū)簽名請(qǐng)求文件
* * * * *

圖18. 提示創(chuàng)建證書(shū)簽名請(qǐng)求的頁(yè)面
* * * * *

圖19. 通過(guò)Launchpad打開(kāi)“鑰匙串訪問(wèn)”應(yīng)用
* * * * *

圖20. 通過(guò)“證書(shū)助理”創(chuàng)建證書(shū)簽名請(qǐng)求
> 注意:在上面的界面中要選中“從證書(shū)頒發(fā)機(jī)構(gòu)請(qǐng)求證書(shū)…”菜單項(xiàng)才能打開(kāi)如下所示的界面。
>

圖21. 將證書(shū)簽名請(qǐng)求文件保存到桌面
* * * * *

圖22. 選擇證書(shū)簽名請(qǐng)求文件并繼續(xù)
* * * * *
> 接下來(lái)可以將生成的證書(shū)下載到下來(lái)并雙擊添加到“鑰匙串”中。
>

圖23. 下載創(chuàng)建好的證書(shū)
* * * * *

圖24. 將證書(shū)添加到鑰匙串中
* * * * *

圖25. 在“鑰匙串”中查看證書(shū)
* * * * *
> 接下來(lái)選中頁(yè)面左側(cè)的“Identifiers”并點(diǎn)擊右側(cè)的“+”來(lái)注冊(cè)要上線的應(yīng)用程序ID
>

圖26. 注冊(cè)應(yīng)用的ID
* * * * *

圖27. 填寫(xiě)應(yīng)用ID的名稱和Bundle ID
* * * * *
~~~
注意:上面的Bundle ID應(yīng)該跟Xcode中項(xiàng)目的Bundle ID保持完全一致,此處最好確認(rèn)一下Xcode中的Bundle ID,如下所示。
~~~

圖28. 在Xcode中查看或修改項(xiàng)目的Bundle Identifier
* * * * *

圖29. 可以對(duì)項(xiàng)目使用的服務(wù)進(jìn)行設(shè)置并繼續(xù)
* * * * *

圖30. 完成應(yīng)用ID注冊(cè)
* * * * *
> 上面一步完成后還要點(diǎn)擊“Done”按鈕,然后就可以在“App IDs”中看到所有注冊(cè)過(guò)的應(yīng)用程序的Bundle ID。接下來(lái)就可以用證書(shū)和注冊(cè)的應(yīng)用程序ID來(lái)生成“Provisioning Profiles”,你可以把這個(gè)文件理解為一個(gè)配置文件(后文中將“Provisioning Profile”統(tǒng)稱為“配置文件”),有了這個(gè)文件才能對(duì)你的項(xiàng)目代碼用證書(shū)進(jìn)行簽名并完成上線的操作。

* * * * *
圖31. 查看Provisioning Profiles

* * * * *
點(diǎn)擊頁(yè)面右上方的“+”開(kāi)始創(chuàng)建“配置文件”。

圖32. 創(chuàng)建新的“配置文件”
* * * * *

圖33. 選擇“配置文件”的類型
* * * * *

圖34. 選擇應(yīng)用程序ID
* * * * *

圖35. 選擇使用的證書(shū)
* * * * *

圖36. 給“配置文件”命名
* * * * *

圖37. 下載“配置文件”并點(diǎn)擊“完成”按鈕
* * * * *
> 下載好的配置文件可以雙擊添加到Xcode中,待會(huì)就可以使用這個(gè)配置文件來(lái)完成項(xiàng)目的上線不過(guò)現(xiàn)在我們暫時(shí)放下這件事情,回到開(kāi)發(fā)者中心,進(jìn)入“iTunes Connect”。
>

圖38. 回到開(kāi)發(fā)者中心
* * * * *

圖39. 進(jìn)入iTunes Connect
* * * * *

圖40. 管理App
* * * * *

圖41. 新建App
* * * * *

圖42. 填寫(xiě)App相關(guān)信息
* * * * *
~~~
說(shuō)明:上圖中“名稱”是你的應(yīng)用在App Store中顯示的名字;“套裝ID”是Xcode中項(xiàng)目的Bundle Identifier;“SKU”可以填寫(xiě)當(dāng)天日期外加一個(gè)編號(hào)即可,這是你為你的應(yīng)用指定的一個(gè)標(biāo)識(shí)符。
~~~
接下來(lái)的頁(yè)面中可以指定應(yīng)用的類別。

圖43. 指定應(yīng)用程序類別并存儲(chǔ)
* * * * *

圖44. 點(diǎn)擊“1.0準(zhǔn)備提交”填寫(xiě)App相關(guān)信息
* * * * *

圖45. 添加App預(yù)覽和屏幕快照
* * * * *

圖46. 編寫(xiě)應(yīng)用描述和關(guān)鍵詞
* * * * *

圖47. 設(shè)置應(yīng)用圖標(biāo)并編輯應(yīng)用分級(jí)
* * * * *
~~~
注意:應(yīng)用圖標(biāo)必須提供1024*1024的圖片且圖片不能設(shè)置alpha通道(透明度);應(yīng)用分級(jí)是為了確定應(yīng)用使用群體的年齡段,如下圖所示。
~~~

圖48. 編輯應(yīng)用分級(jí)

圖49. 設(shè)置完圖標(biāo)和應(yīng)用分級(jí)后的效果
* * * * *

圖50. 提供聯(lián)系人信息和演示賬號(hào)
* * * * *
~~~
說(shuō)明:如果你的應(yīng)用中有需要登錄后才能使用的功能那么就必須提供一個(gè)演示賬號(hào)以供審核應(yīng)用時(shí)使用。
~~~

圖51. 選擇發(fā)布方式并保存應(yīng)用信息
> 接下來(lái)就要回到Xcode提交應(yīng)用程序的代碼以供審核,如下圖所示我們可以在項(xiàng)目的“Build Settings”中設(shè)置代碼簽名和“配置文件”,可以在上面的工具欄中選中“Generic iOS Device”,然后用“Product”菜單中的“Clean”菜單項(xiàng)對(duì)項(xiàng)目做一次清理,再用“Archive”菜單項(xiàng)來(lái)對(duì)項(xiàng)目進(jìn)行打包操作。需要提醒的是,如果代碼簽名出現(xiàn)問(wèn)題,可以通過(guò)如下圖所示的“Fix issue”按鈕進(jìn)行聯(lián)網(wǎng)修復(fù)。

圖52. Xcode中設(shè)置代碼簽名和“配置文件”
* * * * *

圖53. 聯(lián)網(wǎng)修復(fù)代碼簽名問(wèn)題
* * * * *

圖54. 通過(guò)“Product”菜單的“Archive”菜單項(xiàng)啟動(dòng)打包上傳工具
* * * * *
> 點(diǎn)擊上圖紅框中的按鈕可以上傳項(xiàng)目到App Store;點(diǎn)擊藍(lán)框中的按鈕可以對(duì)項(xiàng)目進(jìn)行驗(yàn)證;點(diǎn)擊綠框中的按鈕可以將項(xiàng)目導(dǎo)出成ipa文件。
>

圖55. 驗(yàn)證項(xiàng)目界面
* * * * *

圖56. 導(dǎo)出項(xiàng)目的界面
* * * * *

圖57. 選擇導(dǎo)出的目標(biāo)設(shè)備
* * * * *
導(dǎo)出成功后會(huì)看到如下圖所示的文件。

圖58. 導(dǎo)出后生成的ipa文件
* * * * *
> 可以使用類似于蒲公英這樣的內(nèi)測(cè)分發(fā)工具將ipa文件上傳生成一個(gè)二維碼,這樣可以讓所有的測(cè)試機(jī)通過(guò)掃描二維碼安裝該應(yīng)用來(lái)進(jìn)行內(nèi)測(cè),如下圖所示。
>

圖59. 蒲公英界面
* * * * *

圖60. 上傳ipa文件并生成二維碼
* * * * *

圖61. 上傳成功后打開(kāi)應(yīng)用對(duì)應(yīng)的頁(yè)面
* * * * *
> 經(jīng)過(guò)嚴(yán)格的內(nèi)測(cè)后,是時(shí)候?qū)?yīng)用上傳到App Store啦。
>

圖62. 點(diǎn)擊“Upload”上傳到App Store
* * * * *

圖63. 正在上傳應(yīng)用到App Store
* * * * *
~~~
這個(gè)過(guò)程可能會(huì)比較漫長(zhǎng),你可以放輕松一些,沖一杯咖啡獎(jiǎng)勵(lì)一下自己然后等待上傳的結(jié)果。
感覺(jué)怎么樣,是不是覺(jué)得上線一個(gè)項(xiàng)目還真不容易。這就對(duì)了,因?yàn)槌赡耆说纳钪斜緛?lái)就沒(méi)有容易二字。
~~~
- 關(guān)于我們
- ApiCloud
- 支付模塊
- 微信支付--wxPay(客戶端)
- 微信支付--wxPay(服務(wù)端)
- 支付寶支付--aliPay(客戶端配置)
- 支付寶支付--aliPay(服務(wù)端配置)
- DoT模板
- 緩存模塊
- 監(jiān)聽(tīng)模塊
- 百度定位模塊
- 設(shè)置狀態(tài)欄字體顏色
- 選擇城市插件
- 跨頁(yè)面執(zhí)行方法
- 安卓-點(diǎn)擊返回事件
- 上傳圖片模塊
- 點(diǎn)擊彈出放大圖片層
- 魅族手機(jī)apiready問(wèn)題
- 分享
- 跨win或frm執(zhí)行腳本
- 關(guān)于ios數(shù)字自動(dòng)識(shí)別成手機(jī)號(hào)
- 百度地圖bMap
- 語(yǔ)音識(shí)別模塊
- tabBarMenu底部導(dǎo)航
- 第三方登錄
- QQ網(wǎng)站和appQQ賬號(hào)的統(tǒng)一問(wèn)題解決
- 微信登錄
- QQ登錄
- 微博登錄
- 上拉加載、下拉刷新模塊
- 圖片緩存
- 文件和圖片緩存機(jī)制分享
- PHP
- 支付寶及時(shí)到賬
- no input file specified報(bào)錯(cuò)解決
- thinkphp 整合kindeditor
- 整合tpshop微信模塊到thinkcmf中
- thinkphp3.1.3整合支付寶
- 網(wǎng)站接入QQ OAuth2.0登錄教程
- ThinkPHP整合百度編輯器Ueditor
- PHP加快執(zhí)行效率的寫(xiě)法規(guī)范
- ThinkPHP操作大全
- PHP操作大全
- Thinkphp中SQL操作返回值
- php5.3 foreach 使用&(與運(yùn)算符)引用賦值要注意的問(wèn)題
- mysql給字段追加值
- 阿里大魚(yú)短信平臺(tái)接入
- Navicat 導(dǎo)出 Mysql 數(shù)據(jù)字典
- php 面向?qū)ο笕娼坛?/a>
- PHP5下調(diào)用SOAP
- PHP處理時(shí)間格式添加空格
- 偽裝URL請(qǐng)求(.htaccess)
- url請(qǐng)求參數(shù)加解密
- JS插件
- artDialog彈窗-頁(yè)面?zhèn)髦?/a>
- jQuery點(diǎn)擊遮罩彈出層固定居中
- jeBox原生彈窗
- bxslider輪播
- js生成指定位數(shù)隨機(jī)數(shù)
- 發(fā)送短信倒計(jì)時(shí)
- js調(diào)試
- jQuery.validator 表單驗(yàn)證規(guī)則
- Swiper 輪播
- 獲得焦點(diǎn)時(shí)-圖片抖動(dòng)
- uploadify無(wú)刷新上傳圖片
- 導(dǎo)航下拉隱藏上拉顯示
- 獲得焦點(diǎn)時(shí)-加黑色蒙版
- jquery.qrcode.js生成二維條形碼(支持中文)
- jquery.qrcode.js生成二維條形碼(官方不支持中文)
- nth-child 選擇器
- 無(wú)刷新點(diǎn)擊實(shí)現(xiàn)加載更多數(shù)據(jù)
- 刷新頁(yè)面方法
- 判斷滾動(dòng)條向上向下
- 跨瀏覽器復(fù)制jQuery-zclip
- js校驗(yàn)表單后提交表單的三種方法
- 用JS判斷下拉框是否選中
- div中滾動(dòng)
- 提交時(shí)彈出模態(tài)框
- 當(dāng)圖片不顯示時(shí)替換方法
- 前端
- CSS3
- HTML5
- css技巧
- 移動(dòng)端rem
- Flex布局
- 電商詳情滾動(dòng)條監(jiān)聽(tīng)
- VueCircleMenu圓環(huán)按鈕
- iframe自適應(yīng)頁(yè)面高度
- 百度Echart
- input:radio改變選中顏色
- Jquery
- 響應(yīng)式布局基本實(shí)現(xiàn)Media Query
- 循環(huán)輸出只輸出新內(nèi)容
- 小程序
- wx.request坑
- 概要
- git操作
- 本地記住密碼
- 操作
- 生成ssh公鑰 記住密碼
- git避坑
- ES6學(xué)習(xí)手札
- 調(diào)試小插件
- 谷歌插件Postman
- PHP調(diào)試助手
- WordPress
- 緩存服務(wù)器Redis
- 在線代碼運(yùn)行 Docker
- 在ubuntu下怎樣安裝https
- BrowserSync 瀏覽器同步測(cè)試工具
- getmarkman高效的設(shè)計(jì)稿標(biāo)注、測(cè)量工具
- PHPstrom軟件
- 服務(wù)器
- linux 安裝搭建服務(wù)器配置及nginx配置
- tpshop的nginx 服務(wù)器配置方法
- (服務(wù)器訪問(wèn)文件404解決辦法)IIS 之 添加MIME擴(kuò)展類型及常用的MIME類型列表
- mysql部分
- mysql緩存
- MySql監(jiān)控工具--mytop
- MySql主從搭建
- mysql優(yōu)化
- Mysql 復(fù)制 (主從復(fù)制)
- iOS開(kāi)發(fā)筆記 - 上線流程
- VUE避坑指南
- 從零開(kāi)始學(xué)Vue
- Vue-cli
- Webpack
- VUE小記
- npm打包空白
- 打包背景圖片/項(xiàng)目圖片不顯示
- VUE避坑指南/elementUI upload 自定義http-request上傳
- 關(guān)于watch監(jiān)聽(tīng)路由重復(fù)加載方法
- 解決加載內(nèi)容的時(shí)候閃動(dòng)問(wèn)題
- vuecli沒(méi)有network訪問(wèn)地址
- python學(xué)習(xí)
- python初始
- pytho內(nèi)置函數(shù)大全
- win10 播放器播放TS文件問(wèn)題
- 設(shè)計(jì)網(wǎng)站
- VUE避坑指南/VUE-CLI部署空白
- swiper使用問(wèn)題
- uni-app學(xué)習(xí)手冊(cè)
- 目錄結(jié)構(gòu)
- layUI
- nodesass版本sassloader版本問(wèn)題
