美文网首页技术Swift学习iOS学习
iOS开发初学者入门 | 第十章:在真机上运行

iOS开发初学者入门 | 第十章:在真机上运行

作者: sing_crystal | 来源:发表于2015-12-01 16:23 被阅读1249次

    在这一章节,你将学会如何在真机上运行你的App,你将学会如何创建证书、注册你的测试设备,设置你的App ID和provisioning profiles。这章节将介绍和练习部分合二为一,所以在看这一章节时,要确保打开Xcode,边看边操作。

    真机上测试App需要注册开发者账户(Apple Developer account)(现在苹果已经允许开发者没有帐号也能在真机上运行了,作者写这本书的时候,苹果的政策还没有开放给所有人。),将App发布到App Store上也需要这个账户。Apple Developer Program为开发者提供了最新版本的iOS和OSX,注册开发者帐号可以观看WWDC中的视频。WWDC全称Worldwide Developer Conference,每年在San Francisco举行。苹果公司会在WWDC上发布新的产品和软件,注册开发者还能获得专门的技术支持,每年需要缴纳99美元,这将是你一笔划算的投资。

    此章节接下来的部分需要注册开发者账户,你可以在[http://developer.apple.com/programs/ios.](http://developer.apple.com/programs/ios.)上注册账户 如果你是在校学生,苹果提供了iOS Developer University Program免费项目,更多细节可以在这里找到[http://developer.apple.com/programs/ios/university](http://developer.apple.com/programs/ios/university)

    可以用你的名字或者公司名称来注册开发者账户,注册在你个人名下就是个人开发者账户,注册在公司名下需要公司的邓白氏编码和可证明公司的合法文件。邓白氏编码是你公司独一无二的编码,你可以在[https://developer.apple.com/support/ios/ D-U-N-S.php](https://developer.apple.com/support/ios/ D-U-N-S.php)这个网站上了解更多的信息。在大多数情况下,注册成个人开发者会更简单一些,当你需要的时候,可以把个人开发者账户转换成公司账户。更多信息,请见[https:// developer.apple.com/programs/]( https:// developer.apple.com/programs/)。

    Page 257

    完成注册后,就可以进入Member Center。Member Center中提供了苹果开发者需要的工具、更新,在[https://developer.apple.com/member center/](https://developer.apple.com/member center/)注册登录Member Center。Member Center中有部分叫做Certifications, Identifiers, and Pro‐files,这部分就是Provisioning Portal,控制管理在你开发过程中需要使用的设备和profiles。

    用浏览器打开http://developer.apple.com(见图10-1)

    图10-1 developer.apple.com

    点击右上角的Member Center,输入你的苹果开发者帐号密码,然后登录(见图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继续。接着会出现
    向导,让你想创建的证书的类型(见图10-4)。选择iOS App Development box,点击Continue。向导接下来会让你创建CSR(Certificate Signing Request),CSR是创建Certificate的一个条件。

    图10-4 New certificate

    Page 260 | Chapter 10: Running on a Device

    想要创建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

    接着屏幕上会出现图10-6的向导。填写email和common name,CA Email address这一栏空着,然后勾选“Saved to disk”,点击Continue。选择存放证书的文件夹,然后保存。现在回到浏览器继续Provisioning Portal。

    图10-6 向导Wizard

    Certificates | Page 261

    创建好CSR后,点击浏览器中Continue按钮(见图10-7)。

    图10-7

    接下来需要你上传CSR文件。点击Choose File按钮,找到.certSigningRequest文件(见图10-8)。

    图10-8 CSR

    Page 262 | Chapter 10: Running on a Device

    接下来点击Generate,向导开始创建证书。证书创建好后,会出现一个Download按钮(见图10-9)。点击Download下载证书,开发Downloads文件夹,双击刚刚下载的ios_development.cer文件,这样就把文件添加到你的keychain中了。

    图10-9 下载certificate

    Certificates | Page 263

    再次打开浏览器,点击左边的All选项。用于App Store的第二个证书也需要创建。再次点击右上角的加号按钮,选择“App Store and Ad Hoc”点击Continue(见图10-10)。CSR创建界面这时会弹出来,这一次,你用上次已经创建好的CSR就可以了。点击Continue。

    图10-10 选择“App Store and Ad Hoc”选项

    点击Choose File按钮选择之前创建好的.certSigningRequest,点击Generate按钮。出现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。

    要创建一个App ID,我们首先要左边的侧边栏中点击App ID,然后点击右上角的加号按钮,出现创建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 创建App ID

    Identifiers | Page 265

    Bundle ID会进入Xcode中,当你向App Store提交App时,会核对Bundle ID。App Services,你可以为你的应用添加格外的服务。点击Continue。需要你再次确认App ID,如果各项都正确点击Submit。这样,App ID和Bundle ID都创建完成了(见图10-13)。

    图10-13

    Page 266 | Chapter 10: Running on a Device

    Devices

    Provisioning Portal的第三部分是Devices。不能随笔拿个iOS设备就来真机测试你的应用,测试机需要注册。开发者可以每年注册最多100台测试设备,如果这个设备被移除了,就再也不能添加回来了。Devices部分包括了所有可以使用开发者账户的设备,我们使用一串唯一的串码UDID来关联设备。

    点击Devices下方的All,然后点击右上角的加号按钮。

    我们需要获取设备的UDID(见图10-14),获取UDID的方法是,先把设备链接到Mac上,运行Xcode,设备连接上后,打开Xcode,选择顶部菜单Window --> Devices,出现设备窗口,从左侧栏中选择iOS设备,这时iOS设备上会弹出是否信任这台电脑(Trust This Computer)的提示,点击信任(Trust)。UDID就会在Identifier后面,复制UDID,然后打开浏览器。

    把UDID粘贴到输入框中,给这个设备命名(见图10-14),点击Continue。

    图10-14

    Devices | Page 267

    Profiles

    一旦你的设备已经激活了开发者模式且添加到了Devices中,你就可以创建provisioning profile了。provisioning file列举出哪些设备可以运行你的App。把provisioning profile添加到Xcode,然后检查此设备是否授权运行App,provisioning profile用于本地开发和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

    接下来,会出现一个你账户下授权设备清单(见图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。登录你开发者帐号和密码,接着点击Add(见图10-20)。

    图10-20 添加帐号窗口

    Profiles | Page 271

    关闭Accounts对话框,回到工程详细信息中来,点击上方名为Info的tab按钮,清空Bundle Identifier,然后输入上创建App ID时输入的倒序Bundle ID(例如:com.johnsmith.selfieapp)。

    接着选择Build Settings,滑到Code Signing区域,在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里。

    现在,你可以在真机上运行你的程序了,把你的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的图标已经显示在桌面上了。

    祝贺你,现在,你已经成功地在真机上运行应用了。

    如果你收到了错误或者警告,不要担心,熟能生巧,到网站上下载源码(这个网站可能废掉了),对比学习,多练习几次,直到成功~

    Profiles | Page 273

    相关文章

      网友评论

      • 最爱东山哥丶:在淘宝上搜索真机调试,就可以找到了,十五块钱完美解决😏
        sing_crystal:@住在东山的程序员 现在已经免费了,何必花十五块钱
      • 布客飞龙:我说那只鸟为啥那么眼熟呢。我之前看ydkjs的时候也有类似的图标。
        布客飞龙:@sing_change “You Don't Know JavaScript” 的缩写 一本讲js语言特性的书
        sing_crystal:@龙哥盟飞龙 ydkjs??
      • Lady旺财:擦 第十章都出来了 我压力好大。。。。。
        Lady旺财:@sing_change 看到了哈 我给你qq留言了 你看看~
        sing_crystal:@wlh9710 第八章发上去了😁
      • 曾樑:我记得以前没有开发者账号的话可以用越狱的手机真机调试的
        sing_crystal:@曾樑 嗯啊是的,不过越狱系统可能有些灰色边界,所以作者没有提及。或者是因为法律版权原因,不敢介绍涉及到越狱系统的方法。

      本文标题:iOS开发初学者入门 | 第十章:在真机上运行

      本文链接:https://www.haomeiwen.com/subject/ehclhttx.html