Xcode 開發者證書的一些整理

剛剛從培訓機構學完4個月的ios之後,過完春節就開始找工作。在51job上投了幾份簡歷,下午就收到了第一份面試邀請。

一家創業公司,手錶主題的社交app。因爲本人很懶,所以就不再繼續等其他面試通知了,在這家公司呆了下來,面試當天下午還吃了元宵的湯碗。

相信很多剛剛接觸ios開發的人,都對於蘋果的開發者中心以及開發者賬號都有點陌生。培訓機構這部分的內容只講了一個上午,而且當時也沒有給我們真機用來測試,於是到了公司之後才自己開始各種百度找資料,因爲工作上需要真機測試以及導出ipa給其他機子安裝,所以只能一上崗就惡補了有關的知識,有說的不對的請大神們指出。

首先,要說的是,我這工作所要用到的蘋果的開發者證書有個人的開發者證書和企業的開發者證書。個人的開發者賬號(100臺不同Devices可以添加到一個賬號上)貌似是$99一年,企業的也有分99刀和499刀的,這裏他們的不同就不細說了。
不管是個人的還是企業的賬號,對應的證書類型都是一樣的,分別是Development 和 Production。Development主要是用於開發調試的,也就是我們等下要說到的真機調戲。而Production則是對應於發佈產品,例如AppStore上架,企業app應用分發等用途。

由於本人太窮,買不起99刀一年的個人賬號,所以在蘋果開發者中心https://developer.apple.com/membercenter/index.action也只是一個免費的空殼賬號,進去了也沒顯示證書生成的頁面,所以就不上圖了。網上很多具體的圖,大家去找找看就行。這裏就辛苦跟我一樣的初學者看看純代碼編寫(純文字)描述的怎麼申請證書以及有關真機調試的一些事情吧。

首先,想要擁有真機調試或者是打包app的權限,是需要證書的。雖然網上貌似有不用證書也能真機調試的教材,不過太複雜了,我也沒去留意,再說作爲iOS的開發者,使用證書應該是必備的技能吧。廢話不多說,下面記錄下自己對於證書的一些理解。

1.需要真機調試必備的東西:

1> 一個Development證書
2> 一個對應的Provisioning Profiles 也就是配置文件。

怎麼得到這2樣東西呢?
首先我們要再自己的電腦上面生成CSR文件,不知道什麼東西的,請百度,用我自己的話來說,就是你要到銀行之類的地方要申請信用卡啊,還是開戶啊,都要先填好一張表格,而CSR則是我們申請證書時需要自己先填好的表格。
很簡單,首先在自己機子上找到–>”鑰匙串訪問”,打開它,在左上角“鑰匙串訪問”中,找到“證書助理“–>”從證書頒發機構請求證書“點進去。

點了之後是這樣子

用戶電子郵件地址:這裏我是填開發者賬號的郵箱地址,其他的地址沒試過
常用名稱:這裏填的名字會跟賬號你用這個CSR文件生成的證書的祕鑰的名字關聯的,所以想好這個CSR文件要用來生成什麼app的證書,不要隨便寫些自己都不知道意思的名字上去了,不然後面證書多了,對應的祕鑰頁多了,自己就會搞亂了。
請求是:選擇”存儲到磁盤“

按繼續,將CSR指定保存到某個地方。這裏建議大家建個文件夾把CSR保存進去,到時候申請到的證書和配置文件也一起保存到這個文件件,方便自己管理。當然不同用途的證書和配置文件要分開文件件管理了,不然很容易搞混了。

搞好之後,就可以到開發者中心的網站,開始我的證書申請之旅了。
進入到開發者中心,可以先逛一下啊,反正又不會點壞它。先熟悉下界面,畢竟以後就要跟它打交道了。熟悉了之後,請找到”Certificates, Identifiers & Profiles“這一欄,點進去吧,騷年們。
進去之後,你會看見如下一張圖:(原諒我盜圖,爲了方便大家,界面都是一樣的。。。)
這裏寫圖片描述

上面就是我們這次要操作的主戰場,關於證書以及其管理都將在這個頁面進行。

我們先看看左邊的導航欄裏面的內容:
Certificates:這個就是我們申請證書的地方,看見這欄裏面倒數第一和第二項沒,沒錯,就是之前提到的Development 和Production,我們要申請的真機調試證書是Development。

Identifiers:這個是管理我們賬號裏面的app Identifier的。什麼是Identifiers?就是我們Xcode中的工程中對應的Boundle Identifier–>com.company.xxx 。 Boundle Identifier是每個app唯一的標識,每個賬號可以添加的app BI數量有沒有上限我不知道,但是隻有添加到這裏的App IDs 纔可以使用對應的證書和配置文件進行真機調試。如果你只有證書和配置文件,但是在Xcode中把BI改掉了,那麼恭喜你,這樣是進行不下去的。當然證書中有一種是可以調試com.company.xxx 這樣擁有com.company開頭的BI的應用的,xxx是可以改變的,後面會講到,不然每一個app都要申請一個證書太麻煩了。

Devices:這裏是管理開發者證號對應的設備的。個人開發者賬號中,只有添加到這裏的設備才獲得了真機調試的資格。一個沒有添加到這裏的設備,具備上面說到的證書,配置文件,正確的BI,也是無法真機調試的。另外,一個賬號只能添加100個Device哦,如果要刪除裏面已經添加的Device,貌似是要等第二年續費的時候纔可以操作的。

Provisionining Profiles:這裏是配置文件生成和管理的地方。對應的Development和Distribution分別對應我們在Certificates中的Development 和 Production。

好了,介紹完導航欄,我們就進入正題說說證書是怎麼生成的吧。

在Certificate中選擇Developments,之後會在右邊的畫面裏面看見2個選項,分別是iOS App Development 和 Apple Push Notification service SSL。而且iOS App Development就是我們要生成的用於真機測試的開發證書了。Apple Push Notification 則是用於蘋果推送服務的證書。大家不要將這2個證書搞混淆了。Production證書裏面也有幾個選項,分別是App Store and Ad Hoc 和Apple Push Notification service SSL。App Store and Ad Hoc 是對應於發佈蘋果商店或者是Ad Hoc的,而Apple Push Notification 則是發佈時要使用的對應的推送服務的證書。也就是說,對於Development 和 Production ,分別有不同的推送證書的,到時候不要搞錯了。不然就收不到推送消息了。

而我們要申請的真機調試證書對應的時iOS App Development。選擇,接着讓你上傳一個CSR文件,就是我們剛剛用電腦的鑰匙串訪問生成的CSR文件,接着就能得到我們需要的證書了。將它下載下來,保存好。同樣Distribution證書也是同樣的方法生成。雙擊我們保存好的證書,就會自動安裝到我們的鑰匙串訪問中,可以在裏面方便的找到。

生成完證書之後,我們接下來就是要弄相關的配置文件了。因爲在配置文件中,如果是Development證書的配置文件,會要求選擇對應的App IDs,所以我們要先搞定我們的App IDs。

在App IDs 中,我們創建對應我們要真機調試的程序的App IDs(名字跟Boundle Identifier相同),接着在這個App ID裏面,選擇我們需要的蘋果的服務,如果需要推送消息,則把Push Notifications 選上,不然生成的配置文件是不會讓你的app接受到推送的。(如果之前沒有選擇這裏,可以在選擇之後,再生成一次新的配置文件,這樣就可以接收到推送了。)

搞定App IDs之後,我們就要把我們要真機調試的設備(iPhone、iPad)的App Identifiers添加到Devices裏面。App Identifiers可以在xcode裏面的Product –>Archive中查找到(貌似是這個地方哦)。

搞定上面的內容之後,就選擇Provisioning Profiles的Development中,選擇我們對應的App ID和要真機調試的設備的App Identifiers,接着,就會生成一個配置文件了。下載下來保存好,雙擊,到時候在Xcode中就可以查看到對應的配置文件了。

同理,Distribution的配置文件也是一樣的,但是就會少了選擇App Identifiers的選項,因爲是要放到AppStore中的,沒有設備的限制了。

另外,Production證書是沒法真機調試的哦,所以,嘻嘻,對應的證書和配置文件要弄清楚,不然搞錯了Xcode真機調試的時候會報錯的。如果在某些情況,好像有新的設備需要真機調試,那麼再加入App Identifiers之後,還是需要生成一個新的配置文件的,不然新的設備也沒法調試。

總之,配置文件就像是記錄了你的證書使用時對應的App ID狀態 、App Identifiers 和證書名字,三樣東西就掛鉤了,如果有一個地方改了,就必須生成一個新的配置文件告訴系統有新的東西了,不然配置文件還是記錄着舊的東西,新改變的東西沒辦法工作。

最後要提下push Notification證書。剛剛開始搞推送消息的時候,我都把推送證書和之前說到的證書搞亂了,以爲推送證書是加了推送功能的Development證書或者是Production證書。後面研究之後發現不是這樣的。Push Notification證書只是用於我們的App有推送功能的時候,給我們的後臺服務器用於向蘋果的推送消息服務器發送東西要用到的一個證書,基本是給搭建後臺的人用的,跟我們前面的真機測試、生成IPA文件是沒有用到的地方的。希望大家區分看來。

好啦,這次記錄了自己對開發者申請證書的一些理解,以後的文章也會記錄下工作中一些問題和體會。需要改進或者理解錯誤的地方麻煩大家多多體諒。

發佈了30 篇原創文章 · 獲贊 2 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章