iOS開發(fā)初學者入門 | 第十章:在真機上運行

在這一章節(jié)厌秒,你將學會如何在真機上運行你的App读拆,你將學會如何創(chuàng)建證書、注冊你的測試設備鸵闪,設置你的App ID和provisioning profiles檐晕。這章節(jié)將介紹和練習部分合二為一,所以在看這一章節(jié)時蚌讼,要確保打開Xcode辟灰,邊看邊操作。

真機上測試App需要注冊開發(fā)者賬戶(Apple Developer account)(現(xiàn)在蘋果已經允許開發(fā)者沒有帳號也能在真機上運行了篡石,作者寫這本書的時候芥喇,蘋果的政策還沒有開放給所有人。),將App發(fā)布到App Store上也需要這個賬戶凰萨。Apple Developer Program為開發(fā)者提供了最新版本的iOS和OSX继控,注冊開發(fā)者帳號可以觀看WWDC中的視頻。WWDC全稱Worldwide Developer Conference胖眷,每年在San Francisco舉行武通。蘋果公司會在WWDC上發(fā)布新的產品和軟件,注冊開發(fā)者還能獲得專門的技術支持珊搀,每年需要繳納99美元冶忱,這將是你一筆劃算的投資。

此章節(jié)接下來的部分需要注冊開發(fā)者賬戶境析,你可以在[http://developer.apple.com/programs/ios.](http://developer.apple.com/programs/ios.)上注冊賬戶 如果你是在校學生囚枪,蘋果提供了iOS Developer University Program免費項目派诬,更多細節(jié)可以在這里找到[http://developer.apple.com/programs/ios/university](http://developer.apple.com/programs/ios/university)

可以用你的名字或者公司名稱來注冊開發(fā)者賬戶,注冊在你個人名下就是個人開發(fā)者賬戶眶拉,注冊在公司名下需要公司的鄧白氏編碼和可證明公司的合法文件千埃。鄧白氏編碼是你公司獨一無二的編碼,你可以在[https://developer.apple.com/support/ios/ D-U-N-S.php](https://developer.apple.com/support/ios/ D-U-N-S.php)這個網站上了解更多的信息忆植。在大多數情況下放可,注冊成個人開發(fā)者會更簡單一些,當你需要的時候朝刊,可以把個人開發(fā)者賬戶轉換成公司賬戶耀里。更多信息,請見[https:// developer.apple.com/programs/]( https:// developer.apple.com/programs/)拾氓。

Page 257

完成注冊后冯挎,就可以進入Member Center。Member Center中提供了蘋果開發(fā)者需要的工具咙鞍、更新房官,在[https://developer.apple.com/member center/](https://developer.apple.com/member center/)注冊登錄Member Center。Member Center中有部分叫做Certifications, Identifiers, and Pro‐files续滋,這部分就是Provisioning Portal翰守,控制管理在你開發(fā)過程中需要使用的設備和profiles。

用瀏覽器打開http://developer.apple.com(見圖10-1)

圖10-1 developer.apple.com

點擊右上角的Member Center疲酌,輸入你的蘋果開發(fā)者帳號密碼蜡峰,然后登錄(見圖10-2)。

圖10-2 Developer Portal

Page 258 | Chapter 10: Running on a Device

點擊“Certifications, Identifiers and Profiles”這個鏈接朗恳,接著點擊“Certificates”鏈接湿颅。

Provisioning Portal有四部分:Certificates、Identifiers粥诫、Devices油航、Profiles,把這頁加入收藏夾怀浆,因為我們以后會經常用到這個頁面谊囚。

Certificates

第一部分是Certificates.在你運行App時,Certificates用來確認你的身份揉稚。唯一的certificate就像是你的簽名秒啦,這樣能夠限制其他人在未經你允許的情況下向App Store提交App。

打開Certificate部分后搀玖,你會看到一個銀色入口(見圖10-3)余境。左邊是一排選項,Pending表示你目前正在使用的一些certificate,Development certificates表示用于本地電腦上的證書芳来,Production certificates是用在App Store上的含末。

圖10-3 Certificates

Certificates | Page 259

點擊右上角的加號按鈕,選擇iOS App Development即舌,然后點擊Continue繼續(xù)佣盒。接著會出現(xiàn)
向導,讓你想創(chuàng)建的證書的類型(見圖10-4)顽聂。選擇iOS App Development box肥惭,點擊Continue。向導接下來會讓你創(chuàng)建CSR(Certificate Signing Request)紊搪,CSR是創(chuàng)建Certificate的一個條件蜜葱。

圖10-4 New certificate

Page 260 | Chapter 10: Running on a Device

想要創(chuàng)建CSR,我們首先要打開你Mac中的Keychain Access這個應用程序耀石。點擊Mac屏幕右上角的Spotlight搜索圖標牵囤,輸入keychain Access,然后點擊搜索出來的第一個選項滞伟。Keychain Access啟動后會列出你當前電腦上所有的certificates揭鳞。點擊頂部菜單欄中的Keychain Access,然后選擇Certificate Assistant --> Request a Certificate From a Certificate Authority(見圖10-5)梆奈。

圖10-5 Keychain Access App

接著屏幕上會出現(xiàn)圖10-6的向導野崇。填寫email和common name,CA Email address這一欄空著鉴裹,然后勾選“Saved to disk”舞骆,點擊Continue钥弯。選擇存放證書的文件夾径荔,然后保存。現(xiàn)在回到瀏覽器繼續(xù)Provisioning Portal脆霎。

圖10-6 向導Wizard

Certificates | Page 261

創(chuàng)建好CSR后总处,點擊瀏覽器中Continue按鈕(見圖10-7)。

圖10-7

接下來需要你上傳CSR文件睛蛛。點擊Choose File按鈕鹦马,找到.certSigningRequest文件(見圖10-8)。

圖10-8 CSR

Page 262 | Chapter 10: Running on a Device

接下來點擊Generate忆肾,向導開始創(chuàng)建證書荸频。證書創(chuàng)建好后,會出現(xiàn)一個Download按鈕(見圖10-9)客冈。點擊Download下載證書旭从,開發(fā)Downloads文件夾,雙擊剛剛下載的ios_development.cer文件,這樣就把文件添加到你的keychain中了和悦。

圖10-9 下載certificate

Certificates | Page 263

再次打開瀏覽器退疫,點擊左邊的All選項。用于App Store的第二個證書也需要創(chuàng)建鸽素。再次點擊右上角的加號按鈕褒繁,選擇“App Store and Ad Hoc”點擊Continue(見圖10-10)。CSR創(chuàng)建界面這時會彈出來馍忽,這一次棒坏,你用上次已經創(chuàng)建好的CSR就可以了。點擊Continue遭笋。

圖10-10 選擇“App Store and Ad Hoc”選項

點擊Choose File按鈕選擇之前創(chuàng)建好的.certSigningRequest俊抵,點擊Generate按鈕。出現(xiàn)Download下載按鈕坐梯,點擊Download下載新的證書(見圖10-11)徽诲。雙擊*ios_distribution.cer
*文件即可添加到keychain中。然后再次打開瀏覽器吵血。

圖10-11

Page 264 | Chapter 10: Running on a Device

Identifiers

Provisioning Portal的第二部分是Identifiers谎替,在Certificates下方。Identifiers是用來管理App的ID的蹋辅。有點類似美國人的社保號钱贯,每個App都有自己獨一無二的App ID。

要創(chuàng)建一個App ID侦另,我們首先要左邊的側邊欄中點擊App ID秩命,然后點擊右上角的加號按鈕,出現(xiàn)創(chuàng)建App ID的界面(見圖10-12)褒傅。Name一欄中輸入App ID Selfie弃锐,不要使用下方列出的特殊符號。App ID Prefix一欄空著殿托,勾選Explicit App ID霹菊。Bundle ID這部分使用部分倒序的方式書寫,就像是在瀏覽器地址欄中輸入網址支竹,只不過順序是相反的旋廷。不用使用圖片中的Bundle ID,例子中的Bundle ID是無效的礼搁。輸入你自己的Bundle ID饶碘,確保使用以下格式:com.domain.app(例如:com.johnsmith.selfieapp)。

圖10-12 創(chuàng)建App ID

Identifiers | Page 265

Bundle ID會進入Xcode中,當你向App Store提交App時,會核對Bundle ID彻亲。App Services撼港,你可以為你的應用添加格外的服務辙喂。點擊Continue捶障。需要你再次確認App ID像屋,如果各項都正確點擊Submit崭放。這樣鬼吵,App ID和Bundle ID都創(chuàng)建完成了(見圖10-13)扣甲。

圖10-13

Page 266 | Chapter 10: Running on a Device

Devices

Provisioning Portal的第三部分是Devices。不能隨筆拿個iOS設備就來真機測試你的應用齿椅,測試機需要注冊琉挖。開發(fā)者可以每年注冊最多100臺測試設備,如果這個設備被移除了涣脚,就再也不能添加回來了示辈。Devices部分包括了所有可以使用開發(fā)者賬戶的設備,我們使用一串唯一的串碼UDID來關聯(lián)設備遣蚀。

點擊Devices下方的All矾麻,然后點擊右上角的加號按鈕。

我們需要獲取設備的UDID(見圖10-14)芭梯,獲取UDID的方法是险耀,先把設備鏈接到Mac上,運行Xcode玖喘,設備連接上后甩牺,打開Xcode,選擇頂部菜單Window --> Devices累奈,出現(xiàn)設備窗口贬派,從左側欄中選擇iOS設備,這時iOS設備上會彈出是否信任這臺電腦(Trust This Computer)的提示澎媒,點擊信任(Trust)搞乏。UDID就會在Identifier后面,復制UDID旱幼,然后打開瀏覽器查描。

把UDID粘貼到輸入框中突委,給這個設備命名(見圖10-14)柏卤,點擊Continue。

圖10-14

Devices | Page 267

Profiles

一旦你的設備已經激活了開發(fā)者模式且添加到了Devices中匀油,你就可以創(chuàng)建provisioning profile了缘缚。provisioning file列舉出哪些設備可以運行你的App。把provisioning profile添加到Xcode敌蚜,然后檢查此設備是否授權運行App桥滨,provisioning profile用于本地開發(fā)和App Store。然而,App Store的provisioning profile不限于具體的設備齐媒。

點擊Provisioning Profiles下方的All蒲每,接著點擊右上角的加號按鈕。

選擇iOS App Development喻括,點擊Continue(見圖10-15)邀杏。Development用來在你電腦上運行App,Distribution是預留你的App提交到應用市場或者群體測試唬血。

圖10-15

接下來望蜡,從下拉菜單中選擇你的應用的 App ID,點擊Continue(見圖10-16)拷恨。選擇你要使用此provisioning profile的證書脖律,大部分情況下,你只需要一個可用證書即可腕侄。選擇你的證書然后點擊Continue小泉。

圖10-16 選擇App ID

Page 268 | Chapter 10: Running on a Device

接下來,會出現(xiàn)一個你賬戶下授權設備清單(見圖10-17)冕杠。選擇你想要測試應用的設備膏孟。

圖10-17 設備

最后,使用projectNameDevprojectNameAppStore格式來命名profile name(見圖10-18)(例如:MySelfieAppDev)拌汇。使用這種格式命名柒桑,可以在Xcode中更容易找到provisioning profile。點擊Generate噪舀,然后下載profile魁淳。

圖10-18

Profiles | Page 269

打開瀏覽器,點擊Provisioning Profile下方的All与倡,接著點擊右上角的加號按鈕界逛。

選擇App Store點擊Continue。從下拉菜單中選擇App的App ID纺座,點擊Continue息拜。選擇證書,點擊Continue净响。命名profile(例如:MySelfieAppStore)少欺,然后點擊Generate。

下載profile馋贤,然后去文件夾中打開你剛剛下載的provisioning profile赞别。會以.mobileprovision結尾的兩個profile(見圖10-19)(MySelfieAppDev.mobileprovision和MySelfieAppStore.mobileprovision)。雙擊這兩個profile即可添加到Xcode配乓,添加成功后仿滔,就可以在工程中看到這兩個文件了惠毁。

圖10-19

Page 270 | Chapter 10: Running on a Device

打開Xcode工程,點擊Project Navigator中的工程名字崎页,Editor中會顯示出工程的詳細信息鞠绰。在Team里的下拉菜單中選擇Add an Account。登錄你開發(fā)者帳號和密碼飒焦,接著點擊Add(見圖10-20)洞豁。

圖10-20 添加帳號窗口

Profiles | Page 271

關閉Accounts對話框,回到工程詳細信息中來荒给,點擊上方名為Info的tab按鈕丈挟,清空Bundle Identifier,然后輸入上創(chuàng)建App ID時輸入的倒序Bundle ID(例如:com.johnsmith.selfieapp)志电。

接著選擇Build Settings曙咽,滑到Code Signing區(qū)域,在Code Signing Identity下方挑辆,Debug一欄選擇iPhone Developer:你的名字例朱。確保下方所有的iOS SDK都是同樣的名字。Release一欄選擇iPhone Distribution:你的名字鱼蝉。確保所有的iOS SDK都是同樣的名字(見圖10-21)洒嗤。

圖10-21 Build Settings tab

點擊上方General這個tab選項,確認bundle和團隊信息是否正確無誤魁亦。

打開瀏覽器渔隶,到AppSchool下載App icons(圖10-22)。(這個網址我一直打不開洁奈,我也不知道咋回事间唉,一開始以為是被墻了,后來覺得可能是網站已經關閉了吧)

圖10-22 App icons

Profiles | Page 273

打開存放icons的文件夾利术,然后打開Xcode呈野,把文件夾中的圖標拖動到Xcode中的Images.xcassets里。

現(xiàn)在印叁,你可以在真機上運行你的程序了被冒,把你的iOS設備連接到Mac上,點擊Xcode頂部iOS Simulator下拉菜單轮蜕,選擇iOS device昨悼,點擊Play按鈕(Run)。

如果你在真機上運行我們之前講解的小應用Selfie肠虽,你可能會看到Xcode的警告“process launch failed: Security”幔戏,這是第一次運行時的警告,打開你的設備(iPhone或iPod等等)税课,點擊Trust from the App Developer闲延,接著App會向你獲取使用攝像頭的權限。點擊Home鍵韩玩,回到桌面垒玲,你看會看App的圖標已經顯示在桌面上了。

祝賀你找颓,現(xiàn)在合愈,你已經成功地在真機上運行應用了。

如果你收到了錯誤或者警告击狮,不要擔心佛析,熟能生巧,到網站上下載源碼(這個網站可能廢掉了)彪蓬,對比學習寸莫,多練習幾次,直到成功~

Profiles | Page 273

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末档冬,一起剝皮案震驚了整個濱河市膘茎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌酷誓,老刑警劉巖披坏,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盐数,居然都是意外死亡棒拂,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門玫氢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來着茸,“玉大人,你說我怎么就攤上這事琐旁′汤” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵灰殴,是天一觀的道長敬特。 經常有香客問我,道長牺陶,這世上最難降的妖魔是什么伟阔? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮掰伸,結果婚禮上皱炉,老公的妹妹穿的比我還像新娘。我一直安慰自己狮鸭,他們只是感情好合搅,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布多搀。 她就那樣靜靜地躺著,像睡著了一般灾部。 火紅的嫁衣襯著肌膚如雪康铭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天赌髓,我揣著相機與錄音从藤,去河邊找鬼。 笑死锁蠕,一個胖子當著我的面吹牛夷野,可吹牛的內容都是我干的。 我是一名探鬼主播荣倾,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼悯搔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了逃呼?” 一聲冷哼從身側響起鳖孤,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎抡笼,沒想到半個月后苏揣,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡推姻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年平匈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片藏古。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡增炭,死狀恐怖,靈堂內的尸體忽然破棺而出拧晕,到底是詐尸還是另有隱情隙姿,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布厂捞,位于F島的核電站输玷,受9級特大地震影響,放射性物質發(fā)生泄漏靡馁。R本人自食惡果不足惜欲鹏,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望臭墨。 院中可真熱鬧赔嚎,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至袄膏,卻和暖如春践图,著一層夾襖步出監(jiān)牢的瞬間掺冠,已是汗流浹背沉馆。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留德崭,地道東北人斥黑。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像眉厨,于是被迫代替她去往敵國和親锌奴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內容