iOS Developer:真机测试


转载请注明出处,原文地址http://my.oschina.net/joanfen/blog/167730

如果本文不能解决您的问题请移步:http://my.oschina.net/u/1245365/blog/196420

关于证书选项呈灰色的情况,因为苹果的开发者中心改版,很多人遇到这个问题,本来放在文中的,现在提到前面来

 如果出现ios development一项为灰色不可点击状态,苹果的说法是

如果您要为此电脑添加证书,请revoke以前的证书后添加,或者通过以前的mac导出证书

        原文不记得了,大概这个意思,苹果不希望你的开发者账号里出现多台Mac的证书,如果在其他mac上已经添加过证书的话,就直接通过P12导出(导出方法见下文)后给当前的Mac使用即可,或者删除之前的证书后再添加

一、真机调试所需材料说明

在申请真机调试证书之前,先对苹果真机调试所需的文件进行说明: 

苹果真机调试需要证书(Certificates)描述文件(Provisoning Profiles) 

1、证书(Certificates) 通过苹果自带的钥匙串生成后上传到Developer中再生成来完成

2、描述文件(Provisoning Profiles) 生成描述文件时需要选择App ID包含Bundle,必须与你程序的bundle保持一致,为了能同时调试多个程序,一般bundle填写时末尾用*号代替,后文会具体说明)选择证书(Certificates)设备(Devices)三样东西 

    真机测试必要条件:App ID证书描述文件设备,及调试程序的Bundle Identifier保持一致


二、开始申请

     打开iOS Dev Center,选择Sign in,登陆(至少99美元账号),登陆选择Certificates,Identifiers & Profiles --> Identifiers

三、添加App ID

选择Identifiers->App IDs,开始添加

App ID由用.符号分开的两部分组成,在默认情况下,App ID的前缀为你的团队ID,后缀被定义为一个bundle ID的搜索字符串,AppID的每一个部分对你的应用程序都有不同而且很重要的用途
  • App ID Description:这部分只是你ID的一个代号,只需填写一个自己能分辨的名称即可,在后面申请证书和描述文件中会涉及到选择项
  • App ID Prefix:这部分是Team ID,系统默认,无需填写
  • App ID Suffix:这部分是App ID后缀,可选择Explicit App ID或者Wildcard App ID

3.1、Explicit App ID

Explicit App ID:如果你打算将应用程序中加入Game Center,或在应用中使用应用内购买,进行数据保护,使用iCloud,或者想要给你的应用程序一个唯一的配置文件,你就必须申请Explicit App ID。

     要创建Explicit App ID,在下面的框中输入一个唯一的字符串,这个字符串必须与你的应用程序的Bundle ID匹配,苹果推荐使用   com.你的公司名称.app名称   作为你的Bundle ID,如果是选择Explicit App ID,Bundle ID中     不能含有*号  

3.2、Wildcard App ID:通用App ID,只需使用com.oschina.*的格式即可匹配多个应用,本文以通用型为例

 Wildcard App ID:可以让你用一个App ID来匹配多个App,想要创建一个通用App ID,在输入Bundle ID末尾使用*号

4、App Services:应用程序提供的服务

App Services:选择你应用中将会使用的服务,在App ID注册成功之后也可再次编辑你的选择

   在自己应用中所使用到的选项上打√,因为我选择的是通用型(WildCard),所以Game Center,In-App Purchase, Push Notifications都是不可选的,如果要使用这些功能,请选择精确型(Explicit)

5、确认信息确认之后选择Submit,出现Registration complete.的字样,Done。

四、添加设备(Devices)

1、将设备连上电脑,打开在XCode的Organizer->Devices中

    Xcode5以下的Organizer在软件右上角即可找到,XCode5的Organizer选择Window->Organizer(快捷键shift+command+2)
    设备连接上XCode之后Devices中的信号灯有灰色,黄色,绿色三种情况

   1.1、灰色灯

    如果设备是之前未作为开发机,在Devices中设备上的灯应该为灰色,在右侧有选项将设备作为开发机,点击即可,由于没有新机,无法截图演示

   1.2、黄灯,有两种情况

  •    设备未连接好,请将连接线重新插一次,并检查接口是否插紧,如果还是黄灯,则未下一种情况
  •    设备版本高于XCode所能支持的版本,如XCode4.6.3,能支持的最高版本未iOS6.1,如果你的设备未iOS7及以上,此时需要更新至XCode5

   1.3、绿灯:说明连接成功,可进行调试

2、UDID,通过itunes和Xcode都可以看到设备的UDID

  •  在itunes中,连上设备之后,有一项“ECID”,单击,即可以查看到UDID。
  •  在Xcode的organizer中选中设备“Identifier”一栏即为UDID。

3、回到苹果开发者中心,选择Devices 右侧栏的添加按钮,方法与添加App ID相同

     下面还可以选择添加多台设备,本人表示智商不够,不会,99美元账号可以添加100台设备,299美元的账号本人不晓得。。
     Tips:设备添加后当年不可删除,如果要删除必须要在次年续费时进行删除。

五、添加证书(Certificates)

    1、选择Certificates->development,添加证书

    2. 申请证书

    2.1. 打开电脑中的钥匙串:选择LaunchPad->其他->钥匙串访问
    2.2. 选择钥匙串访问->证书助理->从证书颁发机构请求证书           
    2.3. 填写邮件地址和名称,点击继续存储,一般存储在桌面(根据个人喜好)        
    2.4. 回到developer的界面,选择Continue,出现上传证书界面
    2.5. 选择Choose File上传刚才存储的证书,然后选择Generate.
    2.6. 生成之后会出现可以Download的证书,选择下载双击安装即可

六、添加描述文件(Provisioning Profiles)

  1. 选择Provisioning Profiles->Development,然后选择右侧添加键添加
  2. Select Type -> 选择iOS App Development -> 选择Continue
  3. 选择App ID,选择之前添加的com.oschina.*,选择Continue
  4. 选择证书,选择刚才生成的开发证书,然后选择Continue
  5. 选择设备,会出现设备列表,一般来说把所有设备都添加进去,方便多台设备调试,不用再申请profile,选择Continue
  6. 为这个profile命名,不可含有标点,选择Generate
  7. 选择下载,双击安装即可

七、配置XCode

  1. 打开XCode,插上设备,如果XCode不显示设备,而是iOS Device的状态,则检查Targets->iOS Application Target->Deployment Target中的版本是否与设备版本不匹配
  2. 选择上图中Build Settings,将Code Signing中的profile设置成刚才下载的Provisoning Profile,也可设置成Automatic profile中的iPhone Developer,XCode将会自动匹配描述文件
  3. 检查Bundle ID是否与描述文件所包含的App ID中的Bundle匹配,选择TARGETS->Summary查看,由于我们申请的是通用型App ID,所以Bundle Identifier只需要是com.oschina.打头即可,后面可以随意填
选择真机设备,运行,大功告成。

八、P12导出证书

在钥匙串中找到登录选项中得iPhone Developer一项,右键选择导出,证书类型选择“个人信息交换(.p12),并将创建的provision profile文件和证书一起拷贝到别的mac上双击安装就可使用了

PS:如果设备为越狱设备,不管provision profile里有没有包含你得设备,都是可以真机调试的,如果不想花费99美元的话,可以在淘宝上买一个证书,或者是找亲朋好友索要他们的P12证书吧,祝大家好运




真机调试iphone应用程序

1、真机调试流程概述

1)       真机调试应用程序,首先需要有一个苹果开发者帐号,才可创建证书请求CSR;

2)       打开应用程序钥匙串访问(keychain access)请求证书;

3)       登录iDP Portal “certificates”栏目中提交证书请求;

4)       确认提交后,刷新页面自动生成.cer文件,将它下载到本地;

5)       双击.cer文件,即把证书放到了钥匙串访问中;

6)       通过itunes或者xcode(organizer)获取设备的UDID;

7)       再回到iDP Portal“Devices”栏目中开始注册设备,并填写设备UDID和设备的用户名相关信息;

8)       完成设备注册后,进入iDP Portal“app IDs ”栏目,申请app ID,填写app ID的描述信息和与应用程序绑定的相关信息;

9)       完成app ID申请后,再进入到iDP Portal“provisioning”栏目,完成provisioning文件名称、证书名称、所要注册设备以及app ID的填写,这些选项均会在前几个步骤完成;

10)      如果完成应用程序的开发和调试工作,即可进入发布程序的iDP Portal“distribution”栏目,开始发布应用程序。但发布应用程序所创建的证书请求与真机测试不同,但基本流程相同;

真机调试应用程序大体流程如下图所示:

iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

真机测试流程 图1-1

 

2、真机调试流程详述

2.1、请求证书

首先,打开keychain access创建证书请求(应用程序实用工具中)如下所示:

iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

钥匙串访问 图2-1

选择钥匙访问串”“证书助理”“从证书机构请求证书选项,打开证书助理对话框,如下图所示:

  iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

证书助理 图 2-2

填写相关信息,将请求选择为存到磁盘让我指定密钥信息单击继续。选择存储路径。最后生成证书请求文件.certSigningRequest

2.2、提交证书

生成请求证书文件后,登录到IDP provisioning portal页面,选择certificate栏目,请求证书,单击request certificates按钮,如下图所示:

iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

请求证书 图 2-3

进入到创建开发证书页面,选取已创建的 . certSigningRequest,选择submit。如下图所示:  iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

生成证书 图 2-4

刷新页面后,单击“download”按钮,将证书(.cer文件)保存在本地。

2.3、注册(安装)证书

下载完成后,双击.cer文件,安装证书。完成后可在keychain access中显示。如若证书安装成功,则会显示绿色字样——“该证书有效”,如果证书创建失败,则显示红色字样——“该证书无效”。当证书无效时,后面第三节中会讨论到问题的产生原因和解决办法。

2.4、获取设备UDID

打开xcode,选择window,打开 organizer 对话框,复制设备UDID,这里一定要连接设备,否则无法获取设备UDID信息(也可从itunes中获取,但无法复制)如下图所示:  iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

organizer 图 2-5

2.5、注册设备

获取到设备后UDID后, 回到IDP provisioning portal页面,选择certificate栏目,单击add Devices按钮,注册设备,如下图所示:  iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

 注册设备 图 2-6

进入到填写设备信息页面,第一个是设备的名字(可按开发者意图填写),第二个是设备的UDID,将需要注册的设备的UDID拷入。如下图所示:  iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

注册设备 图 2-7

2.6、注册app IDs

完成设备注册后,跳转到app IDs页面中注册app ID,单击New app ID,如下图所示:

  iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

 创建app ID 图 2-8

填写app ID时,信息的描述部分可以由开发者随意填写,但其中不要包括特殊字符,如@*bundle identifier的填写则相当重要,如果此信息填写不正确,则无法完成真机测试应用程序。这里具体由两种写法。具体看下苹果公司提供一个用例com.domainname.appname。命名需要按照此规范填写。第一个.com是必须按照苹果公司给的样式填写的,而domainname则需要用户自定义填写,这部分信息可以由开发者随意填写,但苹果公司推荐用公司的域名。最后一部分则表示你需要测试的应用程序的名字,比如创建xcode文件时,创建了一个叫app的应用程序,那么这部分就填写app。当然也可以用*号代替,表示可以用于任何iphone程序的测试。本文推荐使用第二种。如下图所示:  iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

app ID信息图 2-9

2.7、生成provisioning文件

确认生成app IDs后,选择进入provisioning页面,单击New provisioning file,创建provisioning文件,第一填写的是profile的名字,可以按开发者意愿填写,其次证书选择刚已创建好的.cer文件,选择app id,最后选择你将要注册的设备。单击确认后,完成profile文件的创建,刷新页面后,下载.mobleProvisioning文件。iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

app ID信息 图2-9

2.8、安装provisioning文件

下载好provisioning文件后,双击安装文件即可。确认是否将provisioning文件正确安装在设备中,可打开xcode,在organizer对话框中查看。

2.9、配置xcode文件

最后,配置xcode文件,打开plist文件,将bundle identifier中的yourcompany,改成与公司域名及需要与app ID一致,如在创建app ID时,创建的是com.apple.*plist文件也相应改成com.apple.******号部分不需要用户修改。如下图所示:

iPhone <wbr>真机调试应用程序(具体步骤与问题小结)  

bundle identifier 2-10

再选择xcode工程的info,将code signing identifier”选项选择为已创建好的mobileprovisioning文件。如下图所示:

iPhone <wbr>真机调试应用程序(具体步骤与问题小结) code signing 2-11

如果没有,则说明之前某些操作有错误,请按此方法重新创建证书。也可学习参考苹果公司的提供的真机测试相关视频。

3、真机调试注意事项

3.1keychain access中请求证书

在创建请求证书之前,需要对keychain access简单的设置。打开keychain的偏好设置选项,选择证书,将OCSPCRL选择为关闭,优先级选择为 OCSP”,但一般不需要修改,因为是默认项。如下图所示:

  iPhone <wbr>真机调试应用程序(具体步骤与问题小结)

keychain偏好设置 图3-1

3.2、证书无效的问题

        如果出现“该证书无效”时,原因有两个(后者原因本人没有遇到过,猜测,呵呵)。其实质都是与时间有关,第一个是mac电脑设置的时间可能有误,把他调回至正确时间,再创建证书就应该没有问题,但真机测试可能还会报错,就再请把build文件和application文件夹生成文件一并删除;第二个原因是证书有效期已过(1年时间)。

3.3、提示证书太多的问题

      回到“keychain access”应用程序中,将多余的证书删除即可。其他证书的钥匙是可以保留的,如果删除,待测试其他设备或另一个应用程序的时候,xcode就会报错了,提示你钥匙和证书不匹配。当然你也可以选择将钥匙导出备份出去,以免自己误删除了。右键单击导出需要备份的钥匙即可。

3.3、其他机器真机测试程序

如果需要其他mac电脑上真机测试时,则需要将keychain access中的私钥导出,添加到另外一台mac电脑上。打开keychain应用程序,将私钥右键导出即可,导出私钥时mac会提示你输入钥匙密码。


小结:iphone真机测试应用程序,有三个环节较为重要

1、向keychain access请求证书,创建证书请求文件,即CSR,为的是拿到一个.cer的文件,即证书

2、app ID文件的创建,这个是与你的应用程序绑定的ID号,千万不要认为是apple ID哦,应该是applicaiton ID,也就是你需要调试应用程序,一般这个步骤容易出错,即你的app ID 与你plist文件里的buddle不一致,导致无法真机调试,我比较推荐以“×”号结尾,这样这个app iD可以对应任何的应用程序

3、provision文件的创建,所有的步骤都是为了它,在这里你会选择你的app ID,设备名称等相关信息,它的成功安装,使得你的设备能够真正的真机测试,你可以在xcode organize查看,也可以在设备中看到(设置/通用/描述文件)

再补充一点:一旦能够做真机测试,如果再拿其他设备测试程序时,不用以上繁琐的步骤,直接注册下该设备,在修改下已创建的profile文件,将另外一个设备添加进来。最后,安装provision文件。也就是说这一个provision文件可以同时支持多个设备。(如果还是无法测试,那可以参考官方的视频和文档,很详细,但会稍显不同,因为它是2008年的资料,可能现在有些更改,但大体应当一样)---->>>>>>>>>>elite_quan@163.com




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值