本文包括內(nèi)容:上線證書配置瞻鹏、推送證書配置悲立、蒲公英測試證書配置。
一新博、 簡單科普
開發(fā)者賬號類型:
? ?? 個人開發(fā)者賬號:
99美金(約688元/年)(調(diào)試證書最多只能有兩個)薪夕,開發(fā)者直接顯示申請人姓名,最多添加100臺測試設(shè)備赫悄,(公司也可以)
? ?? 公司開發(fā)者賬號:
99美金(約688元/年)需要提供鄧白氏編碼原献,用于企業(yè)認證,可以進行團隊開發(fā)管理埂淮,開發(fā)直接顯示公司名稱姑隅,最多添加100臺測試設(shè)備
? ?? 企業(yè)開發(fā)者賬號:
299美金? 需要提供鄧白氏編碼,程序不能上架到AppStore(用于企業(yè)內(nèi)部辦公軟件等)(調(diào)試證書最多有五個),需要公司老板或者合伙人才能申請号枕,流程復雜牵祟。測試設(shè)備無限,用于外包公司開發(fā)者測試
4個證書:
真機調(diào)試證書
推送調(diào)試證書
發(fā)布證書: 用于發(fā)布appstore的證書
推送發(fā)布證書: 用于上傳appstore的程序具備推送功能
1個AppID: 就是bundleId
在開發(fā)者后臺配置bundleid鄙陡,如果配置精確的,那么才可以推送
如果配置含有通配符的躏啰,那么不可以推送
2個Profile文件:調(diào)試和發(fā)布都需要
有一些公司不能開發(fā)者賬號: 給profile+p12文件趁矾,首先搜集你的id,也可上淘寶上買證書
1. cer證書:?
? ? ? 功能: 認證電腦给僵,確定這臺電腦是開發(fā)者所有毫捣,才可以調(diào)試打包
? ? ? 上傳電腦唯一標識,然后生產(chǎn)帝际、安裝證書到本地蔓同,調(diào)試的時候需要判斷證書
2. 描述文件:
? ? ?? cer+udid(手機唯一標識)+bundleid ----> 登錄開發(fā)者賬號 -》證明該描述文件是開發(fā)者所有
? ? ?? xcode7自帶調(diào)試free免費原理:
? ? ?? p12證書(通過cer證書生成,本來我的電腦可以調(diào)試胡本,轉(zhuǎn)讓電腦調(diào)試權(quán)利生成p12證書)
? ? ?? 描述文件: p12+udid+bundleid
不給開發(fā)者賬號:
1. 提供手機udid,然后公司領(lǐng)導添加開發(fā)者賬號中牌柄,
重新生成profile文件,包含你的手機的udid信息
2. 從.cer證書中導出 .p12證書侧甫, 導出profile文件
3. 安裝.p12證書珊佣, xcode導入profile文件
??? 通過蒲公英獲取UDID: 在蒲公英官網(wǎng)的最下方
? ? 打包之前把設(shè)備信息UDID添加到開發(fā)者賬號上:
? ? 然后打包以后把包上傳到蒲公英后臺蹋宦,生成二維碼即可掃描下載用safari瀏覽器,支持100臺設(shè)備
??? iOS 持續(xù)集成:? jekins (自動打包上傳蒲公英)
二咒锻、上線證書配置
1.創(chuàng)建證書
點擊“證書冷冗、標識符、文件”
添加證書
選擇證書
開發(fā)證書(Development):最多1個(20180525日只能生成一個了)
發(fā)布證書(Production):最多3個(網(wǎng)傳)
準備創(chuàng)建CSR文件(這里以Production 的 App Store And AD Hoc為例)
創(chuàng)建CSR文件01(打開鑰匙串->證書助理->從證書頒發(fā)機構(gòu)請求證書)
創(chuàng)建CSR文件02(填寫電子郵件地址惑艇,常用名稱蒿辙,這兩項都可以隨便填,注意要把CSR文件存儲到磁盤)
創(chuàng)建CSR文件(為CSR文件取名滨巴,建議最好取一個和你項目名稱相關(guān)的名字)
選擇剛剛創(chuàng)建的CSR文件
創(chuàng)建證書完畢思灌,下載證書
Extension:CSR是Cerificate
Signing
Request的英文縮寫,即證書請求文件恭取,也就是證書申請者在申請數(shù)字證書時由CSP(加密服務提供者)在生成私鑰的同時也生成證書請求文件泰偿,證書申請者只要把CSR文件提交給證書頒發(fā)機構(gòu)后,證書頒發(fā)機構(gòu)使用其根證書私鑰簽名就生成了證書公鑰文件蜈垮,也就是頒發(fā)給用戶的證書耗跛。
2.配置APP ID
配置項目的APPID(即BundleID)
給AppID取名(建議使用項目名稱,便于區(qū)分)
設(shè)置BundleID(建議設(shè)置精確的BundleID攒发。如果選擇通配符BundleID调塌,比如推送功能是無法使用的)
注冊BundleID
確認無誤,注冊BundleID
注冊BundleID完畢
Tips:
Bundle ID 是唯一標識符惠猿,不能重復羔砾,必須保證是唯一的(如果某些程序在真機調(diào)試的時候報 Bundle ID 的錯誤,更改一下 BundleID 一般可以解決)
3.配置Device
添加測試設(shè)備
獲取設(shè)備的UDID(iTunes或者Xcode獲取)
注冊設(shè)備
Tips
這里的設(shè)備在開發(fā)者付費后1年內(nèi)最多只能添加100臺偶妖,如果沒有在這里配置Device的UDID蜒茄,Xcode在登錄過開發(fā)者賬號的情況下, 也可以自動修復
4.配置包含以上三者信息的描述文件
添加描述文件
選擇創(chuàng)建發(fā)布到AppStore的類型
選擇對應的AppID,如果之前AppID是按照項目名取的餐屎,這里就很好找。所以說取名一定要有套路玩祟,一定要規(guī)范腹缩!
選擇對應的證書(之前是可以默認全部勾選的,但是現(xiàn)在不可以了空扎,所以只能選擇剛才創(chuàng)建的證書藏鹊,看名字不好辨別,只能根據(jù)證書到期日期判斷转锈,比如今天是2018年3月20日盘寡,所以推斷出,2019年3月19日的那個證書是剛剛創(chuàng)建的)
如果配置開發(fā)證書撮慨,這里還要多一步竿痰,選擇設(shè)備脆粥,直接全部選擇就好了
給描述文件取名(一定要規(guī)范!一定要規(guī)范S吧妗变隔!一定要規(guī)范!P非恪O辉怠)
下載描述文件
三、推送證書配置
以極光推送為例鲜棠。創(chuàng)建 App ID和鑰匙串簽名為上文重復內(nèi)容肌厨,如果已經(jīng)做過,不必重復豁陆。
創(chuàng)建 App ID柑爸,填寫 App ID 的 NAME 和 Bundle ID(如果 ID 已經(jīng)存在可以直接跳過此步驟)。
? ? 注: 此處需要指定具體的 Bundle ID 不要使用通配符献联。
為 App 開啟 Push Notification 功能竖配。如果是已經(jīng)創(chuàng)建的 App ID 也可以通過設(shè)置開啟 Push Notification 功能。
填寫好以上屬性后里逆,點擊 “Continue”进胯,確認 AppId 屬性的正確性,點擊 “Register”原押,注冊 AppId 成功胁镐。
兩種鑒權(quán)方式的配置
極光官網(wǎng)應用的鑒權(quán)信息一旦配置,只能用相同 bundleID 的鑒權(quán)信息進行更新诸衔,無法修改為其他的 bundleID盯漂,請在配置前仔細檢查 bundleID 是否正確,若因特殊原因需要修改笨农,請聯(lián)系 support@jpush.cn
方式一:通過 .p12 證書鑒權(quán)
如果你之前沒有創(chuàng)建過 Push 證書或者是要重新創(chuàng)建一個新的就缆,請在證書列表下面新建。
新建證書需要注意選擇 APNs 證書種類谒亦。如圖 APNs 證書有開發(fā)(Development)和生產(chǎn)(Production)兩種竭宰。
? ? 注:開發(fā)證書用于開發(fā)調(diào)試使用;生產(chǎn)證書既能用于開發(fā)調(diào)試份招,也可用于產(chǎn)品發(fā)布切揭。此處我們選擇生產(chǎn)證書為例。
點擊 "Continue", 之后選擇該證書準備綁定的 AppID锁摔。
點擊 “Continue”廓旬,會進入 CSR 說明界面。
再點 “Continue” 會讓你上傳 CSR 文件谐腰。( CSR 文件會在下一步創(chuàng)建)
打開系統(tǒng)自帶的 KeychainAccess 創(chuàng)建 Certificate Signing Request孕豹。如下圖操作:
填寫“用戶郵箱”和“常用名稱” 涩盾,并選擇“存儲到磁盤”,證書文件后綴為 .certSigningRequest 巩步。
回到瀏覽器中 CSR 上傳頁面旁赊,上傳剛剛生成的后綴為 .certSigningRequest 的文件。
生成證書成功后椅野,點擊 “Download” 按鈕把證書下載下來终畅,是后綴為 .cer 的文件。
雙擊證書后竟闪,會在 “KeychainAccess” 中打開离福,選擇左側(cè)“鑰匙串”列表中“登錄”,以及“種類”列表中“我的證書”炼蛤,找到剛才下載的證書妖爷,并導出為 .p12 文件。如下圖:
在極光控制臺上理朋,進入你應用的應用設(shè)置中 iOS 的鑒權(quán)方式選擇 “證書”絮识,上傳剛才導出的 .p12 證書。極光會在后臺為你的應用進行鑒權(quán)嗽上。
Apple 的生產(chǎn)推送證書允許用于開發(fā)環(huán)境的推送次舌,勾選將生產(chǎn)證書用于開發(fā)環(huán)境,開發(fā)者可以僅上傳生產(chǎn)證書兽愤,即可在官網(wǎng)推送平臺處選擇開發(fā)環(huán)境做推送彼念,不用再生成和上傳開發(fā)證書。
或者直接從AppID編輯中分別配置開發(fā)和生產(chǎn)證書浅萧。鑰匙串上傳和之前一樣逐沙,配置完成后分別Download。然后分別雙擊證書進行安裝洼畅,進入證書管理界面吩案,分別導出對應的P12證書,并設(shè)置密碼帝簇。
選中AppID查看詳情
點擊編輯
上傳鑰匙串后
分別下載
方式二:通過 APNs Auth Key 鑒權(quán)
點擊左側(cè)列表 “Keys” 中的 “All”务热,看賬戶中是否已有 auth key,沒有則點擊 “+” 新建己儒。
填寫該 key 的描述并選擇服務,如下圖捆毫。 (注:在開發(fā)和生產(chǎn)環(huán)境均可使用闪湾,且不會過期。)
點擊 “Continue” 讓你確認信息绩卤,再點擊 “confirm”途样,就可以下載該 key 了江醇。(注意:記下 key id,而且只可以下載一次何暇,請妥善保存陶夜。)
獲取你之前創(chuàng)建過的應用的 Bundle ID
在開發(fā)者賬戶的 “Membership” 頁面獲取 Team ID
在極光控制臺上,進入你應用的應用設(shè)置中 iOS 的鑒權(quán)方式選擇 “Token Authentication”裆站,上傳 auth key 文件条辟,并填寫你的 KEY ID,TeamID宏胯,和指定應用的 BundleID羽嫡。極光會在后臺為你的應用進行鑒權(quán)。
Provisioning Profile 的創(chuàng)建
創(chuàng)建 Provisioning Profile 的前提肩袍,已在 Apple Developer 網(wǎng)站創(chuàng)建待發(fā)布應用所使用的 Bundle ID 的 App ID杭棵,且為該 App ID 創(chuàng)建了 iOS Development 證書。
在蘋果開發(fā)者賬號的 Provisioning Profile 頁面點擊下圖按鈕氛赐,創(chuàng)建 Provisioning Profile
選擇此 Provisioning Profile 的環(huán)境后點擊 [Continue]:
選擇要創(chuàng)建 Provisioning Profile 的 App ID 后點擊 [Continue]:
選擇所屬的開發(fā)者證書魂爪,(這里創(chuàng)建了多個開發(fā)者證書,建議只創(chuàng)建一個艰管,方便管理)為了方便滓侍,選擇了 [Select All],再點擊 [Continue] 進入下一步:
為該 Provisioning Profile 選擇將要安裝的設(shè)備(一般選擇 [Select All])蛙婴,點擊 [Continue]:
給該 Provisioning Profile 填寫 Profile Name粗井,點擊 [generate] 完成創(chuàng)建。
填寫完 Profile Name 后點擊 [generate] 完成創(chuàng)建街图,之后點擊 [DownLoad] 下載 Provisioning Profile
雙擊下載下來的 Provisioning Profile,添加到 xcode餐济。
XCode 的證書配置教程
參照 iOS SDK 集成指南集成 JPush SDK 和上傳了推送用到的 p12 證書后在編譯運行前需要先配置一下證書耘擂,步驟如下:
打開 xxx-info.plist 的 Bundle identifier 項把上傳到 JPush 控制臺的 bundle id 填寫進去:
點擊項目,選擇目標 TARGETS 后進入 Build Setting 界面絮姆,搜索 “Code signing”醉冤,按照下圖配置
四、蒲公英測試證書配置
iOS?應用的證書選擇
對于一個未上線?App?Store?的應用篙悯,一般來說蚁阳,開發(fā)者如果需要將應用安裝到某些用戶的設(shè)備上,就需要將應用導出為這些設(shè)備可以直接安裝的安裝包(.ipa文件)鸽照,安裝包能否正確導?出螺捐,是決定了應用能否被正確安裝到設(shè)備上的關(guān)鍵因素。其中,最關(guān)鍵的一個因素是定血,導出安裝包時赔癌,應用所使用的證書(即:簽名方式)。
開發(fā)者可以選擇如下兩種方式的證書簽名方式澜沟,來導出應用安裝包:
1.Ad-hoc?方式
2.In-house?方式
其中灾票,具體使用哪種方式,取決于開發(fā)者擁有蘋果開發(fā)者賬號的類型茫虽。例如刊苍,如果開發(fā)者擁有的是蘋果個人開發(fā)者賬號,則可以使用?Ad-hoc?方式席噩;如果擁有的是蘋果企業(yè)開發(fā)者賬號班缰,則可以使用?In-house?方式。關(guān)于蘋果開發(fā)者賬號支持的證書類型悼枢,請見下表:
賬號類型價格可以發(fā)布AppStore?可以通過蒲公英安裝?支持安裝設(shè)備數(shù)量申請條件證書類型
關(guān)于導出時埠忘,具體的操作方式,請查看:打包?iOS?的?IPA?文件
三種證書簽名的區(qū)別
到目前為止馒索,蘋果為?iOS?應用共提供了三種類型的證書簽名方式莹妒,每一種都有獨特的用途。這三種分別是:
1.Ad-hoc
2.In-house
3.App-Store
蒲公英會根據(jù)打包證書的不同绰上,分別顯示為內(nèi)測版旨怠、企業(yè)版、App-Store版蜈块。
關(guān)于這三種類型的證書鉴腻,區(qū)別如下表所示:
當一個?iOS?的應用上傳到蒲公英后,蒲公英會顯示出這個應用是使用哪種方式的證書來簽名打包的百揭。如圖所示:
同時爽哎,在應用下載頁面、應用管理頁面中器一,也可以看到某個應用的打包方式课锌。
注:此文僅適用于?iOS?類型的應用。
iOS?設(shè)備的?UDID
什么是?UDID祈秕?
UDID?是由子母和數(shù)字組成的?40?個字符串的序號渺贤,用來區(qū)別每一個唯一的?iOS?設(shè)備,包括?iPhones,?iPads,?以及?iPod?Touches请毛,這些編碼看起來是隨機的志鞍,實際上是跟硬件設(shè)備特點相聯(lián)系的。
例如方仿,一個典型的?UDID?類似這樣:
37f2f993bae681636e30e74b04d6b8955ba36f29
如何獲取?iOS?設(shè)備?UDID固棚?
UDID?的獲得可以由?iTunes?工具來獲得街州,也可以通過?Xcode?來獲得,不過無論是?iTunes?還是?Xcode玻孟,都會稍顯麻煩。蒲公英提供了一個簡單的獲取?UDID?的工具鳍征。
在?iOS?設(shè)備上打開上面的地址黍翎,即可方便的獲取到當前設(shè)備的?UDID。
注意:請根據(jù)網(wǎng)頁的提示艳丛,安裝蒲公英提供的描述文件匣掸。如果手機設(shè)置了鎖屏密碼,則需要根據(jù)提示輸入鎖屏密碼氮双。
UDID?和?Ad?Hoc
如果?iOS?設(shè)備要安裝以?Ad?Hoc?方式打包的?iOS?應用時碰酝,必須將該設(shè)備的?UDID?加入打包應用時的證書文件(.mobileprovision文件),才可以在該設(shè)備上正常安裝戴差。
如何查看應用中包含哪些?UDID送爸?
當一個?iOS?應用的安裝包文件(.ipa)被上傳到蒲公英后,蒲公英會自動顯示出該安裝包中包含的?UDID?列表暖释。開發(fā)者可以在如下頁面中查看:
應用管理?->?應用名稱?->?內(nèi)測設(shè)備
如圖所示:
點擊數(shù)字袭厂,可以查看具體的?UDID?列表
向安裝包中添加設(shè)備?UDID
前言
注:本文適用于只有蘋果個人開發(fā)者賬號、公司開發(fā)者賬號球匕、或教育開發(fā)者賬號的?iOS?開發(fā)者纹磺。
對于沒有企業(yè)開發(fā)者賬號(299$)的開發(fā)者來說,要想使用蒲公英將自己的應用分發(fā)給其他用戶的?iOS?設(shè)備亮曹,只能通過將要安裝設(shè)備的?UDID?添加到應用的?mobileprovision?文件中來實現(xiàn)橄杨。本文說明了如何正確的將?iOS?設(shè)備的?UDID?添加到應用的?mobileprovision?文件中。
關(guān)于蘋果開發(fā)者賬號類型的說明照卦,請見:iOS?應用的證書選擇
1.?獲取?iOS?設(shè)備的?UDID:
蒲公英提供一個非常方便的功能式矫,可以幫助開發(fā)者快速獲取一臺設(shè)備的?UDID。具體可見文章:獲取?iOS?設(shè)備的?UDID
2.?生成?Provisioning?Profile?文件:
在獲取到設(shè)備的?UDID?后窄瘟,接下來衷佃,登錄蘋果開發(fā)者網(wǎng)站,添加想要安裝測試應用的設(shè)備的?UDID(蘋果設(shè)置最多只能添加?100?個?UDID)蹄葱。
添加發(fā)布證書氏义。點擊左側(cè)導航欄?Provisioning?Profiles?中的?Distribution,添加一個新的證書:
選擇Ad?Hoc
選擇一個App?ID图云,這里選擇要安裝應用的?App?ID
選擇開發(fā)者
勾選需要安裝應用的測試設(shè)備(一般情況下全選即可)
給?Provisioning?Profiles?設(shè)置一個名字
下載?Provisioning?文件到本地
至此惯悠,我們就完成了?Provisioning?Profile?文件的生成。目前這個生成的文件中竣况,就是包含設(shè)備?UDID?的文件克婶。接下來,我們就需要將這個文件導入?Xcode,然后重新打包應用安裝包(.ipa文件)情萤。
3.?導入?Provisioning?Profile?文件到?Xcode
導入?Provisioning?Profile?文件非常方便鸭蛙,只需要雙擊?Provisioning?Profile,即可導入?Xcode筋岛。導入?Xcode?后娶视,開發(fā)者就可以在項目的?Building?Settings?-?Provisioning?Profile?一項中,看到新的?Provisioning?Profile?名字睁宰。
4.?打包應用的安裝包(.ipa文件)
設(shè)置好?Provisioning?Profile?文件后肪获,即可使用新的?Provisioning?Profile?文件來生成新的應用安裝包,蒲公英對于如何生成應用安裝包柒傻,有一篇文章來專門描述孝赫,請點擊這里查看:打包?iOS?的?IPA?文件
5.?上傳應用的安裝包(.ipa文件)到蒲公英
用這種方式生成的應用安裝包,上傳到蒲公英后红符,就可被已經(jīng)添加了?UDID?的設(shè)備來安裝青柄。這種應用上傳到蒲公英后,蒲公英會顯示為?內(nèi)測版违孝,同時會顯示出這個安裝包的?Provisioning?Profile?文件中包含的?UDID?列表刹前。
關(guān)于如何上傳應用安裝包到蒲公英,請見:應用上傳?文檔雌桑。
個人更喜歡fir這個平臺喇喉。