引
眾所周知,apple是一個(gè)比較封閉的生態(tài),不同于android的隨意安裝,ios開發(fā)者想要看到自己開發(fā)的app成功地在自己手機(jī)上跑起來,甚至上架app store祭示,簡(jiǎn)直是一件喜極而泣奔走相告的事情,相信每一個(gè)ios開發(fā)者谴古,也都經(jīng)歷過被各種證書折磨得頭疼心累得過程质涛,而我也正在這個(gè)過程之中...現(xiàn)在初步弄清楚了真機(jī)調(diào)試證書的獲取流程,能夠讓app在真機(jī)上跑起來了掰担,趕緊記錄下來汇陆。
當(dāng)然,要想正規(guī)地真機(jī)調(diào)試恩敌,第0步永遠(yuǎn)是要有一個(gè)開發(fā)者賬號(hào)瞬测,這也是ios開發(fā)門檻比android高的原因,android機(jī)器便宜纠炮,隨意測(cè)試月趟,隨意傳播下載,而開發(fā)ios應(yīng)用恢口,電腦手機(jī)都貴T T孝宗,好不容易弄出來了,想在手機(jī)上看還得要支付開發(fā)者賬號(hào)得費(fèi)用耕肩,想傳播真是麻煩無比因妇,話說回來,開發(fā)者賬號(hào)分為個(gè)人猿诸、公司婚被、企業(yè)三種,個(gè)人和公司的是$99一年梳虽,企業(yè)的是$299一年址芯,注意這里是美元不是軟妹幣,所以一般個(gè)人開發(fā)者到這里就望而卻步了窜觉。谷炸。。
當(dāng)你有了開發(fā)者賬號(hào)之后禀挫,就可以申請(qǐng)證書進(jìn)行真機(jī)調(diào)試了旬陡,下面開始講解:
首先進(jìn)入蘋果的開發(fā)者網(wǎng)站:https://developer.apple.com
進(jìn)入證書管理頁(yè)面:
如下圖,在頁(yè)面右上角點(diǎn)擊Member Center语婴,進(jìn)入個(gè)人管理中心描孟。
進(jìn)入后入下圖會(huì)要你登錄開發(fā)者賬號(hào):
登陸后就可以管理個(gè)人的一些東西了驶睦,如下圖,我們要選擇的是“Certificates,Identifiers&Profiles”這一項(xiàng)匿醒,如它的描述所言啥繁,管理你app的證書、標(biāo)志青抛、設(shè)備和描述,順便一說酬核,選擇“iTunes Connect”可以管理你發(fā)布的app蜜另,要提交app store審核也在這個(gè)地方。
進(jìn)入后顯示如下圖嫡意,可以看到有ios的應(yīng)用举瑰,mac的應(yīng)用和瀏覽器的擴(kuò)展,當(dāng)你的開發(fā)者賬號(hào)有相應(yīng)的開發(fā)權(quán)限時(shí)則會(huì)在其板塊下顯示詳細(xì)內(nèi)容蔬螟,這里我們看ios Apps部分此迅,板塊中四個(gè)部分Certificates(證書)、Identifiers(標(biāo)志)旧巾、Devices(設(shè)備)耸序、Provisioning Profiles(配置文件),分別點(diǎn)進(jìn)去可以查看各個(gè)部分下我們賬號(hào)已有的內(nèi)容鲁猩,這里我們先點(diǎn)第一項(xiàng)Certificates(證書)看看坎怪。
查看和創(chuàng)建證書:
進(jìn)去后如下圖,先看左邊一欄廓握,還是剛才那四個(gè)部分搅窿,這里都可以方便的選擇查看,而現(xiàn)在我們?cè)诘慕缑婢褪俏覀兯鶕碛械淖C書界面了隙券,證書的種類多種多樣男应,而開發(fā)一個(gè)app最基礎(chǔ)的證書有兩種,一個(gè)就是我們現(xiàn)在講的真機(jī)調(diào)試證書娱仔,你想要把編寫的app在自己手機(jī)上真機(jī)調(diào)試沐飘,就必須有這個(gè)證書;另一個(gè)就是發(fā)布證書拟枚,你想要把a(bǔ)pp發(fā)布到app store審核以供其他人下載薪铜,就必須要有這個(gè)發(fā)布證書。我們看圖中的右邊部分恩溅,顯示了所有擁有的證書隔箍,三列第一列顯示你給證書定義的名字,第二列顯示你的證書的類型脚乡,就包括真機(jī)調(diào)試證書和發(fā)布證書等等蜒滩,如圖中的“iOS Development”就表示真機(jī)調(diào)試證書滨达,“iOS Distribution”表示發(fā)布證書,第三列顯示證書的過期時(shí)間俯艰,超過這個(gè)時(shí)間證書就失效了捡遍,這里我已經(jīng)創(chuàng)建過證書,所以看到四個(gè)證書竹握,點(diǎn)擊其中第一個(gè)真機(jī)調(diào)試證書画株,可以刪除(慎重!)和下載啦辐,至于下載了有什么用谓传,待會(huì)再說。當(dāng)?shù)谝淮芜M(jìn)來的時(shí)候芹关,列表是沒有證書的续挟,這里就需要點(diǎn)擊右上角的加號(hào)來創(chuàng)建證書。
點(diǎn)擊加號(hào)后如下圖侥衬,我們要?jiǎng)?chuàng)建的是Development測(cè)試部分中的第一項(xiàng)诗祸,注意這個(gè)測(cè)試證書每個(gè)開發(fā)者賬號(hào)只能創(chuàng)建兩個(gè),然后到最下方點(diǎn)擊continue進(jìn)入下一個(gè)頁(yè)面轴总。
這個(gè)頁(yè)面就是告訴你一些關(guān)于證書的事情直颅,英文好有興趣的可以看看,大意是說需要用到電腦的鑰匙串配置文件怀樟,后續(xù)再說际乘,可以直接點(diǎn)擊continue進(jìn)入下一步了。
下一個(gè)頁(yè)面顯示需要我們上傳一個(gè)鑰匙串配置文件漂佩,那什么是鑰匙串配置文件呢脖含,需要按下面的步驟來一步步創(chuàng)建:
創(chuàng)建電腦鑰匙串:
點(diǎn)擊mac上的火箭圖形進(jìn)入Launchpad,找到鑰匙串訪問的圖標(biāo)投蝉,如下圖:
打開后點(diǎn)擊左上角鑰匙串訪問-->證書主力-->從證書頒發(fā)機(jī)構(gòu)請(qǐng)求證書养葵。
打開后出現(xiàn)證書請(qǐng)求的對(duì)話框如下圖,這里的目的是獲取剛才我們?cè)趧?chuàng)建證書時(shí)需要的鑰匙串文件瘩缆,有兩種獲取方式关拒,一種是電子郵件形式,一種是直接存儲(chǔ)到電腦上庸娱。如果選擇用電子郵件的話着绊,上面兩個(gè)需要填電子郵件的文本框就是接收的郵箱,這兩個(gè)郵箱一定要填成一樣的熟尉;為了方便也可一直選擇存儲(chǔ)到磁盤归露,但電子郵件地址還是要填寫且一致,不過反正用不著可以隨便填寫斤儿, 只要一樣就好了剧包,存儲(chǔ)到磁盤點(diǎn)擊繼續(xù)的話會(huì)要你選擇存儲(chǔ)的位置恐锦,一定要讓自己找得到。
成功后會(huì)得到一個(gè)CertificateSigningRequest 文件疆液,也就是常骋磺Γ看到的CSR文件。
繼續(xù)創(chuàng)建證書:
鑰匙串CSR文件創(chuàng)建好后堕油,就可以回到剛才的網(wǎng)站界面潘飘,選擇我們剛剛創(chuàng)建的鑰匙串配置文件上傳,點(diǎn)擊Generate就可以創(chuàng)建成功了掉缺,然后點(diǎn)擊Download將其下載到我們的電腦上福也,這樣我們就得到這個(gè)真機(jī)調(diào)試的證書cer文件,然后攀圈,雙擊這個(gè)文件,一定要雙擊才會(huì)將證書安裝到鑰匙串中峦甩,否則使用是會(huì)有問題的赘来,你雙擊后看到它閃了一下就可以了,在鑰匙串中是可以找到這個(gè)文件的凯傲。
至此犬辰,我們已經(jīng)完成第一步了,注意冰单,這只是第一步哦幌缝,不要以為弄到證書了就可以萬事大吉了,還早呢诫欠,不得不說實(shí)在是...太麻煩了涵卵。好啦,繼續(xù)我們的工作荒叼。
創(chuàng)建工程標(biāo)志:
現(xiàn)在我們到Identifiers部分中來轿偎,給我們的工程創(chuàng)建一個(gè)app ID,也就是工程標(biāo)志被廓,或者工程簽名坏晦。在界面左側(cè)點(diǎn)擊Identifiers部分中的App IDs,右邊可以看到已經(jīng)創(chuàng)建的標(biāo)志列表嫁乘,點(diǎn)擊加號(hào)來創(chuàng)建新的標(biāo)志昆婿。
創(chuàng)建時(shí)需要填寫Name用來方便后續(xù)找到這個(gè)標(biāo)志,然后在App ID Suffix中填寫App ID蜓斧,也就是工程標(biāo)識(shí)仓蛆,這里有兩種標(biāo)識(shí),一種是Explicit App ID固定標(biāo)識(shí)挎春,對(duì)應(yīng)于一個(gè)工程多律,如果有多個(gè)工程痴突,也可以選擇Wildcard App ID廣域標(biāo)識(shí),可以對(duì)應(yīng)多個(gè)工程狼荞。標(biāo)識(shí)的填寫方式它也給出了示例辽装。
提交后我們就獲得了一個(gè)工程的標(biāo)識(shí),這一步就可以結(jié)束了相味,還算簡(jiǎn)單拾积,進(jìn)入下一步。
添加設(shè)備:
這里添加的設(shè)備是允許真機(jī)調(diào)試的設(shè)備丰涉,不得不說蘋果的管控真是嚴(yán)格啊拓巧。。一死。每個(gè)賬號(hào)允許添加100個(gè)設(shè)備吧肛度,點(diǎn)擊Devices部分的All可以查看已經(jīng)添加的設(shè)備,同樣的點(diǎn)擊右上角的加號(hào)可以創(chuàng)建新設(shè)備信息投慈,這里就不貼圖了承耿。要?jiǎng)?chuàng)建新的設(shè)備信息,需要設(shè)備也就是iPhone或者iPad的UDID伪煤,也就是唯一標(biāo)識(shí)符加袋,獲取的方法很多,iTunes抱既、Xcode以及很多軟件都可以看到职烧,這里就不細(xì)說了。
知道設(shè)備的UDID后防泵,就可以添加設(shè)備了蚀之,這里可以添加單個(gè)設(shè)備也可以添加多個(gè)設(shè)備,為了避免出錯(cuò)最好還是單個(gè)添加捷泞,填上你給設(shè)備起的名字和查到的設(shè)備UDID后恬总,就可以添加了。
創(chuàng)建PP配置文件:
現(xiàn)在終于到了獲取證書的最后一個(gè)步驟了肚邢!簡(jiǎn)直不容易壹堰,四個(gè)部分我們已經(jīng)走完了三個(gè),從創(chuàng)建證書骡湖,到創(chuàng)建工程標(biāo)識(shí)贱纠,到創(chuàng)建設(shè)備信息,雖然我們都添加了响蕴,但是這些互相之間是零散的谆焊,并沒有關(guān)聯(lián)起來,而這最后一步就是要將證書浦夷、工程標(biāo)識(shí)辖试、設(shè)備信息融合起來了辜王,這樣才可能統(tǒng)一管理吧,所以對(duì)于最后一個(gè)部分:Provisioning Profiles配置文件罐孝,我的理解就是把上面的信息合起來配個(gè)一個(gè)具體的工程呐馆,這樣才方便管理,如果有不對(duì)的地方希望指教一下~
與上面步驟一樣莲兢,點(diǎn)擊PP部分的All之后汹来,點(diǎn)擊右上角的加號(hào)創(chuàng)建新的PP配置文件,也不配圖了懶...
創(chuàng)建時(shí)選擇第一個(gè)調(diào)試部分的真機(jī)iOS App Development真機(jī)調(diào)試文件改艇,continue收班。
這里選擇App ID,也就是第二個(gè)部分中添加的工程標(biāo)識(shí)谒兄,選擇剛才創(chuàng)建的要調(diào)試的工程標(biāo)識(shí)就好了摔桦。continue。
接下來添加證書信息承疲,也選擇剛才創(chuàng)建的真機(jī)調(diào)試的證書就好了邻耕,continue。
接下來添加設(shè)備信息纪隙,其實(shí)可以把所有設(shè)備都選了,免得后來麻煩嘛扛或,continue绵咱。
最后一步就是起名了,建議起好找好記得熙兔,不然后來太多了容易找不到悲伶,然后點(diǎn)擊Generate生成就好了。
創(chuàng)建之后將其下載下來到電腦上住涉,會(huì)得到一個(gè)mobileprovision文件:
與之前下載的證書文件一樣麸锉,雙擊這個(gè)文件,來把它安裝到Xcode中去舆声,才能正常使用花沉,看到閃了一下就表示安裝了。
至此媳握,我們的準(zhǔn)備工作基本完成了碱屁,下一步就是去Xcode里設(shè)置來真機(jī)調(diào)試了。
Xcode中設(shè)置工程:
第一步:在工程的Supporting Files下蛾找,找到.plist文件娩脾,然后在右邊的列表中找到Bundle identifier行,設(shè)置成與我們剛才創(chuàng)建的工程標(biāo)識(shí)一致打毛;
第二步:點(diǎn)擊工程名(最上面藍(lán)色的)柿赊,中間列表選擇TARGETS下的工程同名文件俩功,于右邊的列表中找到Code Signing部分,找到Provisioning Profile項(xiàng)選擇我們剛才創(chuàng)建并安裝的PP配置文件碰声,還是Code Signing部分中诡蜓,找到Code Signing Identity行,下屬的四個(gè)全部改成我們創(chuàng)建并下載的證書cer文件奥邮,注意万牺,不是PP文件;
第三步:在中間列表中的PROJECT下選擇工程同名文件洽腺,進(jìn)行與第二步同樣的修改脚粟。
真機(jī)連接調(diào)試:
至此所有工作全部完成,已經(jīng)可以進(jìn)行真機(jī)調(diào)試了蘸朋,可喜可賀『宋蓿現(xiàn)在,連接設(shè)備藕坯,解鎖設(shè)備团南,在原來Xcode中選擇模擬器的地方選擇自己的設(shè)備,如果沒連接好炼彪,會(huì)顯示“iOS Devices”吐根,連接好了會(huì)顯示你的設(shè)備名。點(diǎn)擊運(yùn)行辐马,看你的手機(jī)吧~