標籤:hoc 關於 adb 使用 右上方 後台 開發人員 tps evel
關於這一塊內容,在網上搜文章都是比較老的了,看文章上的基本都是Xcode6以前 iOS8版本左右的年代了,對於現在比較新的iOS10.2 以及XCode 8.2來講,知識點在整體上來講還是有些不全面的,正好最近項目需要做這一塊內容,就整理出來,方便以後查閱。
開發環境
硬體:MacBook Pro / iPhone 7
軟體:OS 10.11.5 / Xcode 8.2.1 / iOS 10.2.1
認證申請
如果需要做遠程推送的話,基本就是認證申請了,蘋果不開源的原因也就是認證這一塊比較難複雜一點,熟悉以後也就沒什麼了。
首先羅列一下蘋果常用的一些認證檔案:
1.認證請求檔案:CertificateSigningRequest.certSigningRequest;2.打包(真機測試)用的 開發認證 :ios_development.cer;3.上架用的 發布(生產)認證:ios_distribution.cer;4.開發測試用的遠程推送認證:aps_development.cer;5.上架正式做遠程推送的認證:aps.cer;6.開發用Provisioning Profile(PP);7.內測使用的的Ad Hoc 版 Provisioning Profile (PP);8.上架App Store 時用的Provisioning Profile (PP);9.以及使用開發用的遠程推送認證製作的供後台服務端用的P12認證;10.和使用上架用的遠程推送認證製作的供後台服務端用的P12認證;11. 關於9和10是針對部分使用JAVA開發的後台服務端直接支援p12檔案認證的;如果部分(PHP開發的)服務端不支援P12檔案的,還要再將P12檔案轉成Pem檔案才能在服務端使用;
認證基本就這些,可分為兩大類:開發用的和發布用的;
由於做推送申請認證與上架時申請認證基本一樣且需求也基本一樣,所以下面統一講以上所有認證申請產生方法;
1.認證請求檔案:CertificateSigningRequest.certSigningRequest的製作;
在開發過程中,開發人員首先要製作開發用的開發認證,用以調試項目;待調試通過後,將程式APP上架到App Store,
這時要將認證更換成發布認證(生產認證)。在申請所有認證開始前,先要製作一個叫做CSR的認證請求檔案;
1.1 開啟電腦上的“鑰匙串訪問”工具;
鑰匙串訪問
1.2 開啟介面如下:可以看到本機上已有的認證檔案;
鑰匙串訪問首頁
1.3 點擊工具列的: 鑰匙串訪問——>認證助理——>從憑證授權單位請求認證...
建立CSR
1.4 在彈出的視窗中填入使用者電子郵件地址以及常用名稱,選擇“儲存到磁碟”,然後按“繼續”;
填寫隨意電子郵件
1.5 選擇儲存位置儲存,這裡選擇儲存在案頭;
儲存到哪裡
1.6 點擊完成,這樣在案頭上就產生一個CSR檔案,備用;
在案頭產生CSR檔案2.打包(真機測試)用的 開發認證 :ios_development.cer的申請;
開啟蘋果開發人員官方網站:https://developer.apple.com
2.1 選擇 Account;
登入蘋果開發人員官網
輸入開發人員帳號及密碼登入(注意,只有付費的開發人員帳號才可以申請遠程推送及上架的服務)
登入蘋果開發人員帳號
2.2 登入後,選擇Certificates, Identifiers & Profiles
進入認證申請頁面
2.3 進入後點擊左側欄 Certificates ——> All ,第一次進入還沒有任何認證,點擊右上方 + 號添加認證;
建立開發人員認證
2.4 進入後按需要選擇認證類型,這裡申請開發認證,所以選擇 iOS App Development;然後拉到最底按 continue 進入下一步;
申請開發認證
2.5 來到下一步後這裡提示說需要一個CSR檔案,就是我們上面第一步製作的CSR檔案,繼續點擊 continue ;
上傳CSR檔案
2.6 點擊 Choose File 選擇剛才產生在案頭上的 CSR 檔案匯入,然後繼續點擊 continue;
上傳CSR檔案
2.7 這時候開發認證就製作完成了,點擊Download下載到案頭,點擊Done回到認證首面;
產生認證並下載
2.8 認證首頁,這時候已經製作產生了一個開發認證,
認證首頁
2.9 這時候案頭已經有了兩個認證檔案:
案頭上3.上架用的 發布(生產)認證:ios_distribution.cer申請;
3.1 按照上面的步驟,繼續製作發布(生產)認證,在2.4認證類型那一步選擇 App Store And Ad Hoc ,其他步驟一樣;
製作完成的認證首頁是這樣子的,一個開發認證,一個發布認證;
申請發布認證
3.2 點開並將其下載到案頭,這時候案頭上產生了三個認證檔案;
案頭上4.App ID 申請
在申請推送認證之前,需要先在開發人員帳號裡申請一個App ID,然後拿這個ID去建立項目;或者將已經建立的項目的
App ID添加到這裡來,每一個具有遠程推送的app都有一個獨一無二的App 識別碼;
4.1 點擊左側欄的Identifiers ——>App IDs ,如果之前沒有添加過則這裡是空的,點擊右上方 + 號添加 App 識別碼;
App ID 首頁
4.2 進入新頁面後根據要求填寫這個App ID 的描述名稱,這個可以隨意取,只要自己記得就好;
建立App ID
4.3 往下拉,來到Bundle ID 處,按照格式建立一個 ID(這個很重要), 這個識別碼稍後用於項目中,要與項目的識別碼一樣;
建立App ID
4.4 往下拉,開啟推送服務(重要),點 Continues
開啟推送服務
4.5 點Register 註冊,如果所填的App ID 沒有被佔用,則註冊成功;
註冊App ID
4.6 回到App IDs 頁面,可以看到剛剛建立的識別碼已經建立成功。
成功建立App ID5.開發測試用的遠程推送認證:aps_development.cer申請;
申請好 App ID 後開始製作推送用的認證,推送認證也分為兩種,一種是測試用的推送開發認證,一種是上線用的推送發布(生產)認證;
5.1 下面申請推送開發認證;繼續上一步驟,點開建立好的App ID ,拉到最下面,點擊 Edit ;
申請推送開發認證
5.2 拉到下面,可以看到上下分別為開發認證和發布認證,這裡先申請開發認證,點擊第一欄的 Create Certificate...
申請推送開發認證
5.3 下面要求上傳CSR檔案,也是第一步產生的CSR檔案,選中上傳,然後下一步;
匯入CSR檔案
5.4 然後下一步,就製作完成了,點擊下載到案頭;
認證首頁
5.5 這時案頭已經有4個檔案了:
案頭檔案6.上架正式做遠程推送的認證:aps.cer 申請;
6.1 按照剛才的步驟,建立認證時選擇發布推送認證,建立發布用的推送認證,並將它下載到案頭;
申請推送分布認證
6.2 這時候案頭已經有5個檔案了:
案頭檔案7.為測試使用者添加調試裝置
如果是開發出包給測試人員調試推送,需要添加測試使用者的裝置到帳號裡,只有添加的裝置才可以安裝測試包;需要用到裝置的UDID號;
7.1 點擊左側邊欄Devices——> All , 點擊右上方 + 號;
添加裝置
7.2 給需要添加的裝置取個名字,將其唯一的UDID號填寫下去,然後點擊註冊就可以了,個人賬戶最多可以添加100台裝置;
添加裝置
具體裝置的UDID怎樣擷取可以參考文章:https://www.pgyer.com/doc/view/udid
7.3 也可以將裝置串連電腦在iTunes 上獲得:
在iTuns擷取裝置的UDID8.Provisioning Profiles (PP)的申請與製作
開發用的PP檔案以前只能用到真機測試(Xcode直接灌進手機),現在也能跟Ad Hoc一樣出包安裝在指定的裝置上,但這個出包方式使用Com + B debug;
而Ad Hoc的出包方式使用Archive Release出包;
App Store的PP出包方式也是Archive Release,但不能安裝在任何手機上,只能用來上架;
由於三種PP製作方式相當,所以合起來講;
8.1 為內測包製作一個Provisioning Profiles 檔案,點開左側邊欄Provisioning Profiles下的Development在右邊點擊 + 號建立;
製作開發用的PP
8.2 到這一步根據需求選擇,這裡先建立一個自我裝載用的PP檔案,選擇Ad Hoc 然後點擊下一步;
製作Ad Hoc PP
8.3 選擇一個App ID , 這裡選擇要安裝應用的App ID ,然後選擇下一步;
選擇App ID
8.4 選擇前面申請的發布認證(只有製作開發用的PP時這裡選擇開發認證,其他兩都是選擇分布認證);
選擇認證
8.5 勾選需要安裝測試應用的裝置:(注意這裡:前面如果選擇建立App Store版的PP類型的話是沒有下面這步的)
選擇裝置
8.6 給這個PP檔案取一個名字,然後完成並下載到案頭;
給PP命名
同理,分別製作一個開發用的PP以及上線用的PP,在建立時分別選擇Development 和 App Store 將它下載到案頭;
8.7 這時案頭就有了下面這些認證了:
案頭檔案9.P12認證的製作
P12也分為開發測試使用的和正式分布後使用的兩種,製作過程一樣,如下所述;
9.1 在案頭上的這些認證檔案,逐一雙擊安裝到鑰匙串裡(分別雙擊),然後開啟鑰匙串訪問:選擇登入——>我的認證:
分別找到推送開發認證與推送發布認證,分別右擊選擇匯出;
匯出push開發認證
9.2 取一個適當名字,格式選擇 “人個資訊交換(.p12)” 然後點儲存;
匯出P12檔案
9.3 這時彈出對話方塊 ,要求輸入加密密碼;設定一個密碼,並牢記一會一同發給後台開發人員;
設定P12密碼
9.4 同理匯出推送發布認證的p12,這時案頭就有這麼多認證檔案了;
案頭檔案10.將P12檔案轉成pem
根據不同服務端開發語言,有時需要將P12檔案轉成Pem,雖然這一步可以交給後台讓他們轉,但有時我們也需要自己用來測試,那麼怎麼轉呢?
開啟終端,cd到p12所在位置,用以下命令轉即可
openssl pkcs12 -in Push.p12 -out Push.pem -nodes
轉好後根據需要將P12檔案或者pem檔案連同密碼一起發給後台;
11.認證使用說明
將兩個P12檔案發送給服務端開發人員,並把匯出p12時添加的密碼告訴他們;服務端開發人員在調試時使用開發用的p12檔案或pem檔案,待項目上架時再換成發布用的p12檔案或pem檔案;
三個PP檔案在項目工程中打包時用,打包測試包用Ad_Hoc(Archive Release)的版本或者development(Com + B debug),上架App Store用App_Store(Archive Release)版本。
[轉]iOS 10.2 XCode 8.2 認證申請 遠程推送 打包上架