一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

iOS開(kāi)發(fā)之打包上傳到App Store

 宇智波瞬潤(rùn) 2016-08-05

OK,有日子沒(méi)寫(xiě)iOS開(kāi)發(fā)的相關(guān)文章啦,主要是最近的精力都沒(méi)在這上面,不過(guò)既然產(chǎn)品已經(jīng)快要出來(lái)了,就有必要了解一下各種證書(shū)啥的(眾所周知iOS的一堆證書(shū)可是很讓人頭大呀),最近確實(shí)被這個(gè)搞得頭大,然后就決定參考網(wǎng)上的一些資料,進(jìn)行一下整理,留作一個(gè)備份。

內(nèi)容參考自:蘋(píng)果所有常用證書(shū),appID,Provisioning Profiles配置說(shuō)明及制作圖文教程 

    理解Certificate、App Id、Identifiers 和 Provisioning Profile


在我們平常的開(kāi)發(fā)過(guò)程中,可以使用模擬器進(jìn)行調(diào)試,也可以直接使用真機(jī)測(cè)試,真機(jī)測(cè)試的話,證書(shū)的申請(qǐng)也是相對(duì)容易的多,但是當(dāng)我們要實(shí)際打包發(fā)布程序到App Store時(shí),那個(gè)證書(shū)真叫一個(gè)頭疼。

首先,我們打開(kāi)https://developer.apple.com/account/ios/profile/profileList.action,看下左邊:


可以看到有這么幾個(gè)選項(xiàng)。其中,Devices指的是團(tuán)隊(duì)(公司賬號(hào)是可以以Team的形式添加多個(gè)成員的)中的設(shè)備,每個(gè)開(kāi)發(fā)者賬號(hào)(不論公司還是個(gè)人)可以關(guān)聯(lián)100臺(tái)設(shè)備,可以通過(guò)在蘋(píng)果開(kāi)發(fā)者控制臺(tái)中添加,也可以通過(guò)Xcode直接添加設(shè)備。

然后,我們今天的重點(diǎn)目標(biāo)是各類的證書(shū)啊、App ID啊還有Provisioning Profile啥的,所以重點(diǎn)理解一下這幾個(gè)。

Certificate(證書(shū))

證書(shū)指的是由蘋(píng)果頒發(fā)(先交錢后發(fā)貨的說(shuō))給你的證明你有權(quán)利進(jìn)行iOS開(kāi)發(fā)(不買證書(shū)你就只能用模擬器的說(shuō))并且可以將你開(kāi)發(fā)的應(yīng)用上傳到App Store(么有證書(shū)估計(jì)只能自己做越獄開(kāi)發(fā))的一個(gè)憑證,表示你是一個(gè)開(kāi)發(fā)者,就跟護(hù)照啊、身份證啊啥的一樣。一個(gè)開(kāi)發(fā)者賬號(hào)只有一套,這個(gè)套裝里呢包含兩個(gè)證書(shū),一個(gè)是Development證書(shū),也就是所謂的開(kāi)發(fā)證書(shū),憑借這個(gè)證書(shū)你可以進(jìn)行開(kāi)發(fā)和真機(jī)調(diào)試(么有這個(gè)就只能用模擬器啦);另一個(gè)是Distribution證書(shū),也叫Production證書(shū),即所謂的分發(fā)證書(shū)或者說(shuō)生產(chǎn)證書(shū)。其中呢,Development證書(shū)可以制作多個(gè)副本分發(fā)到多臺(tái)設(shè)備,但是Distribution證書(shū)只能有一個(gè),不能制作副本分發(fā)到多臺(tái)電腦。

下面大致介紹一下證書(shū)的種類以及分別包含的子分類啥的:
  • Development
    • App Development (1年):用來(lái)開(kāi)發(fā)和真機(jī)調(diào)試應(yīng)用程序。
    • Push Development (1年):用來(lái)調(diào)試Apple Push Notification
  • Production
    • In-House and Ad Hoc (3年):用來(lái)發(fā)布In-House和AdHoc的應(yīng)用程序。

    •  

         App Store :用來(lái)發(fā)布提交App Store的應(yīng)用程序。
    • MDM CSR
    • Push Production (1年):用來(lái)在發(fā)布版本中使用Apple Push Notification。
    • Pass Type ID Certificate
    • Website Push ID Certificate
    需要注意的是:

  • 在我們申請(qǐng)?zhí)砑右粋€(gè)Certificate之前,需要先申請(qǐng)一個(gè)Certificate Signing Request(CSR)文件,這個(gè)過(guò)程呢,實(shí)際上是生成了一對(duì)公鑰和私鑰,保存在我們電腦上的鑰匙串中。代碼的簽名也就是使用這種基于非對(duì)稱密鑰的加密方式,用私鑰進(jìn)行簽名,用公鑰進(jìn)行驗(yàn)證。如下圖:

    我們的鑰匙串中存儲(chǔ)著相關(guān)的公鑰和私鑰,而證書(shū)里則包含了公鑰。我們只能使用私鑰來(lái)進(jìn)行簽名,如果不小心把私鑰弄丟了,那么就表示這個(gè)證書(shū)基本上已經(jīng)被咔嚓了,不要怕不要慌,你只是不能簽名了而已,解決的辦法就是revoke掉已經(jīng)咔嚓了的證書(shū),再重新申請(qǐng)一個(gè),不過(guò)由此帶來(lái)的麻煩可也是不少,所以可見(jiàn)備份的重要性啊,在申請(qǐng)完證書(shū)的時(shí)候,最好導(dǎo)出并且保存好你的私鑰。這么做的另一個(gè)好處是當(dāng)你需要跟其他人共享證書(shū)時(shí)(尤其是手頭兒銀子不多的個(gè)人開(kāi)發(fā)者),只需要把私鑰發(fā)給他人就好。當(dāng)你用自己的私鑰對(duì)代碼進(jìn)行簽名后,蘋(píng)果就可以用證書(shū)中的公鑰來(lái)進(jìn)行驗(yàn)證,確保真的是你對(duì)代碼進(jìn)行簽名了,一來(lái)防止冒名頂替,二來(lái)確保代碼的完整性。

    App ID

    App ID的主要用途是標(biāo)識(shí)一個(gè)或者一組App,App ID應(yīng)該是和Xcode中的Bundle ID是一致的或者說(shuō),可以匹配的。App ID有以下兩種:
    • Explicit App ID:唯一的App ID,這種類型的App ID只能用來(lái)標(biāo)識(shí)一個(gè)應(yīng)用,例如,com.aiscot.whatever,用來(lái)標(biāo)識(shí)Bundle ID為com.aiscot.whatever的應(yīng)用程序,其他的不行。
    • Wildcard App ID:通配符App ID,這種類型的App ID用來(lái)標(biāo)識(shí)一組應(yīng)用程序,例如,com.aiscot.*可以用來(lái)標(biāo)識(shí)Bundle ID為com.aiscot.whatever1和com.aiscot.biteme1等所有Bundle ID以com.aiscot開(kāi)頭的應(yīng)用程序
    每次創(chuàng)建一個(gè)新的App ID,我們可以設(shè)置該App ID所使用的App Services,比如有的使用Game Center,有的不使用,需要注意的是如果你要使用推送服務(wù),那么你要新建的這個(gè)新的App ID必須是Explicit類型的App ID,這樣兒,蘋(píng)果的Apns才能識(shí)別到唯一的一個(gè)應(yīng)用從而進(jìn)行推送提醒,而不會(huì)出現(xiàn)所謂“一呼百應(yīng)”的現(xiàn)象,下面是目前的一些可選服務(wù)和相對(duì)應(yīng)的配置要求:

    配置的時(shí)候,一定仔細(xì)瞅瞅哈,搞錯(cuò)了不要打我~\(≧▽≦)/~啦啦啦

    Identifiers

    Identifiers是標(biāo)識(shí)符的意思,相當(dāng)于身份證吧,用于創(chuàng)建以下三個(gè):
    App IDs
    Pass Type IDs
    Website Push IDs
    其中,App ID是應(yīng)用的唯一標(biāo)識(shí)符,每個(gè)應(yīng)用的App ID是不一樣的。

    Provisioning Profile

    Provisioning Profile是配置文件,一個(gè)Provisioning Profile文件包含了剛剛我們上面講的所有的內(nèi)容:證書(shū)、App ID、設(shè)備。

    試想一下,如果我們要打包或者在真機(jī)上運(yùn)行一個(gè)應(yīng)用程序,我們首先需要證書(shū)來(lái)進(jìn)行簽名,用來(lái)標(biāo)識(shí)這個(gè)應(yīng)用程序是合法的、安全的、完整的等等;然后需要指明它的App ID,并且驗(yàn)證Bundle ID是否與其一致;再次,如果是真機(jī)調(diào)試,需要確認(rèn)這臺(tái)設(shè)備能否用來(lái)運(yùn)行程序。而Provisioning Profile就把這些信息全部打包在一起,方便我們?cè)谡{(diào)試和發(fā)布程序打包時(shí)使用,這樣我們只要在不同的情況下選擇不同的profile文件就可以了。而且這個(gè)Provisioning Profile文件會(huì)在打包時(shí)嵌入.ipa的包里。

    例如,如下圖所示,一個(gè)用于Development的Provisioning Profile中包含了該P(yáng)rovisioning Profile對(duì)應(yīng)的App ID,可使用的證書(shū)和設(shè)備。這意味著使用這個(gè)Provisioning Profile打包程序必須擁有相應(yīng)的證書(shū),并且是將App ID對(duì)應(yīng)的程序運(yùn)行到Devices中包含的設(shè)備上去。


    如上所述,在一臺(tái)設(shè)備上運(yùn)行應(yīng)用程序的過(guò)程如下:


    與證書(shū)一樣,Provisioning Profile也分為Development和Distribution兩種:


    (注:前面提到不同賬戶類型所能創(chuàng)建的證書(shū)種類不同,顯然Profile文件的種類是和你所能創(chuàng)建的證書(shū)種類相關(guān)的)


    Development (1年)
    Distribution (1年)
    In House
    Ad Hoc
    App Store
    In House 與Ad Hoc的不同之處在于:In House沒(méi)有設(shè)備數(shù)量限制,而Ad Hoc是用來(lái)測(cè)試用的,Ad Hoc的包只能運(yùn)行在該賬戶內(nèi)已登記的可用設(shè)備上,顯然是有最多100個(gè)設(shè)備的數(shù)量限制。所以這兩種Provisioning Profile文件的區(qū)別就在于其中的設(shè)備限制不一樣而已,而他們所使用的Certificate是相同的。


    證書(shū)的大概講解就先到這里,我先出門剪個(gè)頭發(fā)去,晚上把開(kāi)發(fā)和發(fā)布流程整理一下。

    2015年1月31日,EricTang 記

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      国产日韩欧美综合视频| 精品精品国产欧美在线| 日韩黄色一级片免费收看| 欧美精品亚洲精品日韩专区| 色综合久久超碰色婷婷| 精品一区二区三区三级视频| 黄色在线免费高清观看| 日韩一区二区三区免费av| 久久热麻豆国产精品视频 | 午夜国产成人福利视频| 色婷婷在线精品国自产拍| 久久精品中文扫妇内射| 国产成人午夜福利片片| 在线九月婷婷丁香伊人| 91人妻久久精品一区二区三区| 男人大臿蕉香蕉大视频| 亚洲精品福利视频在线观看| 91超频在线视频中文字幕| 国产又大又黄又粗的黄色| 国产熟女一区二区三区四区| 免费精品一区二区三区| 中文字幕一二区在线观看| 国产欧美日韩精品成人专区| 欧美久久一区二区精品| 色鬼综合久久鬼色88| 精品综合欧美一区二区三区| 91日韩欧美中文字幕| 免费在线播放不卡视频| 国产一区二区久久综合| 国产精品夜色一区二区三区不卡| 国产精品熟女在线视频| 久久成人国产欧美精品一区二区| 日韩在线中文字幕不卡| 熟妇久久人妻中文字幕| 麻豆亚州无矿码专区视频| 精品久久综合日本欧美| 九九热视频经典在线观看 | 精品香蕉国产一区二区三区| 精品人妻一区二区三区四区久久| 国产精品美女午夜视频| 日本高清一道一二三区四五区|