iOS發(fā)開蛋疼集錦
1.奔跑吧,App(Running on the device)
前言
App 已經(jīng)受夠了一次又一次在Simulator 上的調(diào)試,它渴望在你的iPhone 或者iPad 上奔跑!
注:本文建立在以下幾個條件,倘若不滿足,請?zhí)霰緯?br>
1.你已經(jīng)付費(fèi)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 .因?yàn)槟承┡笥巡⒎鞘怯?9$購買,而是在某寶花十來塊錢購買的,僅限真機(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è)備上運(yùn)行。
此外,任何一款設(shè)備,如iPhone,iPad都必須在你的Developer Program account 進(jìn)行注冊(后文會詳細(xì)提及)。當(dāng)然蘋果公司對于設(shè)備數(shù)量也是有一定限制的,目前是100臺。"我擦 怎么那么多!"確實(shí),聽起來貌似很多的樣子,但實(shí)際上你要知道這100臺還包括測試用戶(beta testers )以及在App Store以外發(fā)布你的杰作,讓其運(yùn)行在別人設(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è)備窗口。如下圖
- 點(diǎn)擊你的設(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)有一個付費(fèi)賬號。
打開Xcode->Preference 選中Accounts 面板:如下圖
點(diǎn)擊+ 選擇Add Apple ID .
還在等什么,填入你的賬號密碼!Xcode會驗(yàn)證你的賬號,然后添加到accouts window 。 - 現(xiàn)在請點(diǎn)擊
View Details...
你講看到另外一個版面,羅列出你的簽名認(rèn)證(即證書)以及provisioning profiles .現(xiàn)在面板可能是空白一片:
點(diǎn)擊箭頭所指方向的刷新圖標(biāo),很遺憾的告訴你,這需要Xcode聯(lián)網(wǎng),因?yàn)辄c(diǎn)擊之后Xcode將與iOS Dev Center請求獲取已有的所有證書(certificates )以及配置文件(provisioning profiles ),這建立在你已經(jīng)有的條件下!如果這是你的第一次,那么你可能會遇到下面這個問題消息,很好理解,因?yàn)槟銢]有證書,也沒有配置文件,
- 選中
Request 然后耐心等待幾秒即可
在xcode中非常簡單,Xcode自動將設(shè)備注冊到你的開發(fā)者賬號,創(chuàng)建一個新的開發(fā)證書,以及下載和安裝所謂的Team Provisioning Profile 在你的設(shè)備,你可能疑惑,為啥叫team
profile ,前面說過一個設(shè)備對應(yīng)一個配置文件,但是一旦有這個team 配置文件,你就可以運(yùn)行在所有注冊設(shè)備上。
這里可能出現(xiàn)另外一個問題,證書有了,但是provisioning profile 沒有,你可以打開一個項目,然后選擇我們連接的設(shè)備,然后點(diǎn)擊運(yùn)行,將彈出一個錯誤框,點(diǎn)擊
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.也正因?yàn)槿绱?,你可以用它作為任何一款app的配置文件。當(dāng)然以后還會講到明確的指定App
ID,那樣我們的provisioning profile 要唯一指定了,這里先按下不表。 - 現(xiàn)在我們?nèi)タ纯?a target="_blank" >https://developer.apple.com/devcenter/ios中是否有我們的配置信息。首先在
iOS Developer Program 選擇Certificates Identifiers & Profiles .
- 其實(shí)很大部分都是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)容以及外國友人的書本,自己親自實(shí)驗(yàn)多次寫的總結(jié)?,F(xiàn)在分享給大家,希望轉(zhuǎn)載時候能注明出處,謝謝!
|