iOS發(fā)開集錦

1.奔跑吧,App(Running on the device)

前言

App已經(jīng)受夠了一次又一次在Simulator上的調(diào)試,它渴望在你的iPhone或者iPad上奔跑!

注:本文建立在以下幾個條件,倘若不滿足,請?zhí)霰緯?/p>

1.你已經(jīng)付費99$擁有了iOS Developer Program accout。

2.你已經(jīng)擁有一臺或多臺調(diào)試設(shè)備,iPhone,iPad等等。

3.假如你要將你的apps放到iTunes App Store上,那么你還需要to be a memeber of the paid Developer Program.因為某些朋友并非是用99$購買,而是在某寶花十來塊錢購買的,僅限真機(jī)調(diào)試。

親,倘若你的開發(fā)決心堅如磐石,那么請follow me! 給出以下幾個鏈接,做好相關(guān)準(zhǔn)備,比如申請開發(fā)者賬號,購買99$證書等等。

申請賬號地址:https://developer.apple.com/register/index.action

證書購買地址:https://developer.apple.com/programs/ios/

證書的區(qū)別

Development Certificate,開發(fā)證書。作用:為你開發(fā)的apps數(shù)字簽名,這樣才能允許Xcode將apps在你的iPhone,iPad跑起來。

Distribution Certificate,發(fā)布證書。作用:倘若你想將apps提交到App Store發(fā)布,那么apps必須被該證書簽名才被允許。

總結(jié):證書就像一個監(jiān)督者,職責(zé)就是檢查你是否是一個ios應(yīng)用開發(fā)者,開發(fā)時間有效期(一般來說是一年)。

Provisioning Profile掃盲

除了上文提到的有效證書之外,對于每一個你所開發(fā)的app,我們都需要一個所謂的Provisioning Profile,即配置文件。字面上很好理解,每一個app必須有對應(yīng)的配置文件。為了讓app在device上跑起來,Xcode將使用profile對app進(jìn)行簽名(sign)。具體詳情不再闡述,只要明確你需要一個provisioning profile,倘若沒有,app將無法在你的設(shè)備上運行。

此外,任何一款設(shè)備,如iPhone,iPad都必須在你的Developer Program account進(jìn)行注冊(后文會詳細(xì)提及)。當(dāng)然蘋果公司對于設(shè)備數(shù)量也是有一定限制的,目前是100臺。"我擦 怎么那么多!"確實,聽起來貌似很多的樣子,但實際上你要知道這100臺還包括測試用戶(beta testers)以及在App Store以外發(fā)布你的杰作,讓其運行在別人設(shè)備上。

注意:目前iOS8已經(jīng)支持TestFlight beta testing服務(wù),擁有它,不再要求你往開發(fā)者賬號里注冊那些beta testers的設(shè)備了!你要知道每次填是多么麻煩的一件事!真是處處聞啼鳥,why are you so diao!

正題

打開Mac電腦,通過USB連上你的iPhone、iPad、iPod touch等設(shè)備

打開Xcode,在菜單欄選擇Window->Devices打開Xcode的設(shè)備窗口。如下圖

點擊你的設(shè)備名字選中它

如果這是你第一次連接該設(shè)備到Xcode,設(shè)備窗口可能會這樣提示你:“pmst's iPad is not paired with your computer”。這是常見的匹配問題,首先解鎖你的設(shè)備,緊接著會彈出警告框詢問你是否要信任該設(shè)備,選中信任按鈕繼續(xù)。

Xcode將重新刷新頁面,之后你就可以選擇開發(fā)設(shè)備了。這里可能還會遇到一個錯誤消息:An error was encountered while enbaling development on this device。嘗試請拔出你的設(shè)備,再插入連接一次?;蛘咧貑code吧,這該死的家伙總是是不是抽風(fēng)下,重啟之后又生龍活虎。

在Xcode中設(shè)置你的開發(fā)者賬號,這里我假定你手頭已經(jīng)有一個付費賬號。

打開Xcode->Preference選中Accounts面板:如下圖

點擊+選擇Add Apple ID.

還在等什么,填入你的賬號密碼!Xcode會驗證你的賬號,然后添加到accouts window。

現(xiàn)在請點擊View Details...

你講看到另外一個版面,羅列出你的簽名認(rèn)證(即證書)以及provisioning profiles.現(xiàn)在面板可能是空白一片:

點擊箭頭所指方向的刷新圖標(biāo),很遺憾的告訴你,這需要Xcode聯(lián)網(wǎng),因為點擊之后Xcode將與iOS Dev Center請求獲取已有的所有證書(certificates)以及配置文件(provisioning profiles),這建立在你已經(jīng)有的條件下!如果這是你的第一次,那么你可能會遇到下面這個問題消息,很好理解,因為你沒有證書,也沒有配置文件,

選中Request然后耐心等待幾秒即可

在xcode中非常簡單,Xcode自動將設(shè)備注冊到你的開發(fā)者賬號,創(chuàng)建一個新的開發(fā)證書,以及下載和安裝所謂的Team Provisioning Profile在你的設(shè)備,你可能疑惑,為啥叫teamprofile,前面說過一個設(shè)備對應(yīng)一個配置文件,但是一旦有這個team配置文件,你就可以運行在所有注冊設(shè)備上。

這里可能出現(xiàn)另外一個問題,證書有了,但是provisioning profile沒有,你可以打開一個項目,然后選擇我們連接的設(shè)備,然后點擊運行,將彈出一個錯誤框,點擊Fix Issue修復(fù)。

多嘗試修復(fù)幾次即可?,F(xiàn)在來看看我們是否有Team provisioning profile文件了嗎?打開Account面板,恩..有了.如下圖。

那么如何查看設(shè)備是否有了呢?Window->Devices選中你的設(shè)備右鍵Show Provision Profiles.細(xì)心的朋友發(fā)現(xiàn)Team Provisoning profile名字中有一個通配符App ID(*),何為App ID?就好像每個孩子有個名字一樣,我們將給自己開發(fā)的app也取名(即App ID).那么通配符星號指代任何一個App ID.也正因為如此,你可以用它作為任何一款app的配置文件。當(dāng)然以后還會講到明確的指定App ID,那樣我們的provisioning profile要唯一指定了,這里先按下不表。

現(xiàn)在我們?nèi)タ纯?a target="_blank" rel="nofollow">https://developer.apple.com/devcenter/ios中是否有我們的配置信息。首先在iOS Developer Program選擇Certificates Identifiers & Profiles.

其實很大部分都是Xcode幫我們解決了,謝天謝地!現(xiàn)在盡情地開始真機(jī)調(diào)試吧!

一些常見錯誤

The device is not connected.確保電腦連接了你的設(shè)備。關(guān)于設(shè)備都在Xcode的Windows->device顯示,假如顯示黃色警告,那可不是一個好消息。

the device is locked.解鎖你的設(shè)備!

No signing identity found你的開發(fā)證書沒有找到、無效的、又或者缺少相關(guān)私鑰!這時候xcode將會請求新的證書。當(dāng)然你也可以自己創(chuàng)建,不久之后我將寫第二篇文章來介紹。

Code Sign error: a valid provisioning profile matching the application’s Identifier ‘com.yourname.BullsEye’ could not be found.Xcode可能沒有有效的provisoning profile來簽名app.我覺得可能是Team provisioning Profile安裝失敗了

No valid provisioning profile on the device.這個一般情況不會出現(xiàn)拉

Xcode could not find a valid private-key/certificate pair for this profile in your keychain.開發(fā)者證書沒有正確安裝。比如你換了臺電腦,你只移動了證書,但是你卻忘記了相關(guān)私鑰(private keys)。

寫在最后

本文參考了網(wǎng)上內(nèi)容以及外國友人的書本,自己親自實驗多次寫的總結(jié)?,F(xiàn)在分享給大家,希望轉(zhuǎn)載時候能注明出處,謝謝!

原文鏈接:http://blog.csdn.net/colouful987/article/details/43194027

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容