在這一章節(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美元冶忱,這將是你一筆劃算的投資。
可以用你的名字或者公司名稱來注冊開發(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)
點擊右上角的Member Center疲酌,輸入你的蘋果開發(fā)者帳號密碼蜡峰,然后登錄(見圖10-2)。
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上的含末。
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的一個條件蜜葱。
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)梆奈。
接著屏幕上會出現(xiàn)圖10-6的向導野崇。填寫email和common name,CA Email address這一欄空著鉴裹,然后勾選“Saved to disk”舞骆,點擊Continue钥弯。選擇存放證書的文件夾径荔,然后保存。現(xiàn)在回到瀏覽器繼續(xù)Provisioning Portal脆霎。
Certificates | Page 261
創(chuàng)建好CSR后总处,點擊瀏覽器中Continue按鈕(見圖10-7)。
接下來需要你上傳CSR文件睛蛛。點擊Choose File按鈕鹦马,找到.certSigningRequest文件(見圖10-8)。
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中了和悦。
Certificates | Page 263
再次打開瀏覽器退疫,點擊左邊的All選項。用于App Store的第二個證書也需要創(chuàng)建鸽素。再次點擊右上角的加號按鈕褒繁,選擇“App Store and Ad Hoc”點擊Continue(見圖10-10)。CSR創(chuàng)建界面這時會彈出來馍忽,這一次棒坏,你用上次已經創(chuàng)建好的CSR就可以了。點擊Continue遭笋。
點擊Choose File按鈕選擇之前創(chuàng)建好的.certSigningRequest俊抵,點擊Generate按鈕。出現(xiàn)Download下載按鈕坐梯,點擊Download下載新的證書(見圖10-11)徽诲。雙擊*ios_distribution.cer
*文件即可添加到keychain中。然后再次打開瀏覽器吵血。
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)。
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)扣甲。
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。
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提交到應用市場或者群體測試唬血。
接下來望蜡,從下拉菜單中選擇你的應用的 App ID,點擊Continue(見圖10-16)拷恨。選擇你要使用此provisioning profile的證書脖律,大部分情況下,你只需要一個可用證書即可腕侄。選擇你的證書然后點擊Continue小泉。
Page 268 | Chapter 10: Running on a Device
接下來,會出現(xiàn)一個你賬戶下授權設備清單(見圖10-17)冕杠。選擇你想要測試應用的設備膏孟。
最后,使用projectNameDev或projectNameAppStore格式來命名profile name(見圖10-18)(例如:MySelfieAppDev)拌汇。使用這種格式命名柒桑,可以在Xcode中更容易找到provisioning profile。點擊Generate噪舀,然后下載profile魁淳。
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配乓,添加成功后仿滔,就可以在工程中看到這兩個文件了惠毁。
Page 270 | Chapter 10: Running on a Device
打開Xcode工程,點擊Project Navigator中的工程名字崎页,Editor中會顯示出工程的詳細信息鞠绰。在Team里的下拉菜單中選擇Add an Account。登錄你開發(fā)者帳號和密碼飒焦,接著點擊Add(見圖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)洒嗤。
點擊上方General這個tab選項,確認bundle和團隊信息是否正確無誤魁亦。
打開瀏覽器渔隶,到AppSchool下載App icons(圖10-22)。(這個網址我一直打不開洁奈,我也不知道咋回事间唉,一開始以為是被墻了,后來覺得可能是網站已經關閉了吧)
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