【转】iOS开发者申请发布证书及真机调试图文详解

原文网址:http://www.tqcto.com/article/mobile/57822.html

打开iOS Dev Center,选择Sign in,登陆(至少99美元账号),登陆之后在网页右边选择Certificates,Identifiers & Profiles,选择Identifiers

 

一.App ID(bundle identifier)

 

App ID即Product ID,用于标识一个或者一组App。

  

App ID应该和Xcode中的Bundle Identifier是一致(Explicit)的或匹配(Wildcard)的。

App ID字符串通常以反域名(reverse-domain-name)格式的Company Identifier(Company ID)作为前缀(Prefix/Seed),一般不超过255个ASCII字符。

 

1、App ID Description:这部分只是你ID的一个代号,只需填写一个自己能分辨的名称即可,在后面申请证书和描述文件中会涉及到选择项

2、App ID Prefix:这部分是Team ID,系统默认,无需填写

3、App ID Suffix:这部分是App ID后缀,可选择Explicit App ID或者Wildcard App ID


App ID全名会被追加Application Identifier Prefix(一般为TeamID.),分为两类:

  • Explicit App ID:唯一的App ID,用于唯一标识一个应用程序。例如“com.apple.garageband”这个App ID,用于标识Bundle Identifier为“com.apple.garageband”的App。
     
  • Wildcard App ID:含有通配符的App ID,用于标识一组应用程序。例如“*”(实际上是Application Identifier Prefix)表示所有应用程序;而“com.apple.*”可以表示Bundle Identifier以“com.apple.”开头(苹果公司)的所有应用程序。

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

App Services:选择你应用中将会使用的服务,在App ID注册成功之后也可再次编辑你的选择
   在自己应用中所使用到的选项上打√,因为我选择的是通用型(WildCard),所以Game Center,In-App Purchase, Push Notifications都是不可选的,如果要使用这些功能,请选择精确型(Explicit)

           

     完成上面的填写之后,选择Continue

5、确认信息

    

    确认之后选择Submit,出现Registration complete.的字样,选择Done即可

 
用户可在Developer MemberCenter网站上注册(Register)或删除(Delete)已注册的App IDs。
App ID被配置到【XcodeTarget->Info->Bundle Identifier】下;对于Wildcard App ID,只要bundle identifier包含其作为Prefix/Seed即可。

二.设备(Device)

Device就是运行iOS系统用于开发调试App的设备。每台Apple设备使用UDID来唯一标识。

1、iOS设备连接Mac后,可通过iTunes->Summary或者Xcode->Window->Devices获取iPhone的UDID(identifier)。

     Identifier 后面的一串字母加数字的组合即UDID

2、回到苹果开发者中心,选择Devices ->all ,在右侧栏选中“+”号,添加设备

Apple Member Center网站个人账号下的Devices中包含了注册过的所有可用于开发和测试的设备,普通个人开发账号每年累计最多只能注册100个设备。

用户可在网站上注册或启用/禁用(Enable/Disable)已注册的Device。

三.证书(Certificates)

1.证书的概念

证书是由公证处或认证机关开具的证明资格或权力的证件,它是表明(或帮助断定)事理的一个凭证。证件或凭证的尾部通常会烙印公章。

2.数字证书的概念

数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式。它是由一个由权威机构——CA机构,又称为证书授权中心(Certificate Authority)发行的,人们可以在网上用它来识别对方的身份。
  • 数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
  • 数字证书还有一个重要的特征就是时效性:只在特定的时间段内有效。

数字证书中的公开密钥(公钥)相当于公章。

某一认证领域内的根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。

为了防止GFW进行中间人攻击(MitM),例如篡改github证书,导致无法访问github网站等问题,可选择不信任CNNIC

3.iOS(开发)证书申请步骤

 

iOS证书是用来证明iOS App内容(executable code)的合法性和完整性的数字证书。对于想安装到真机或发布到AppStore的应用程序(App),只有经过签名验证(Signature Validated)才能确保来源可信,并且保证App内容是完整、未经篡改的。

 

以下意添加development证书为例

1、选择添加证书,如图操作,选择continue

 

iOS证书分为两类:Development和Distribution。

  • Development证书用来开发和调试应用程序:A development certificate identifies you, as a team member, in a development provisioning profile that allows apps signed by you to launch on devices. 
  • Distribution主要用来分发应用程序(根据证书种类有不同作用):A distribution certificate identifies your team or organization in a distribution provisioning profile and allows you to submit  your app to the store. Only a team agent or an admin can create a distribution certificate.

普通个人开发账号最多可注册iOS Development/Distribution证书各2个,用户可在网站上删除(Revoke)已注册的Certificate。


2、出现如何生成申请证书(CSR:Certificate Signing Request)的介绍页面

  2.1打开电脑中的钥匙串:选择LaunchPad->其他->钥匙串访问

  

  2.2、选择钥匙串访问->证书助理->从证书颁发机构请求证书

  2.3、填写邮件地址和姓名,点击继续存储,一般存储到磁盘

  

 

     keychain将生成一个包含开发者身份信息的CSR(Certificate Signing Request)文件;同时,Keychain Access|Keys中将新增一对Public/Private Key Pair(This signing identity consists of a public-private key pair that Apple issues)。

private key始终保存在Mac OS的Keychain Access中,用于签名(CodeSign)对外发布的App;public key一般随证书(随Provisioning Profile,随App)散布出去,对App签名进行校验认证。用户必须保护好本地Keychain中的private key,以防伪冒。

3、回到development界面,选择continue,出现上传证书界面

4、选择Choose file上传刚才存储的证书,然后选择generate

 

5、将其证书下载到本地

Apple证书颁发机构WWDRCA(Apple Worldwide Developer Relations Certification Authority)将使用private key对CSR中的public key和一些身份信息进行加密签名生成数字证书(ios_development.cer)并记录在案(Apple Member Center)。

 

 

       从Apple Member Center网站下载证书到Mac上双击即可安装(当然也可在Xcode中添加开发账号自动同步证书和[生成]配置文件)。

证书安装成功:

        在KeychainAccess|Keys中展开创建CSR时生成的Key Pair中的私钥前面的箭头,可以查看到包含其对应公钥的证书(Your requested certificate will be the public half of the key pair.);

        在Keychain Access|Certificates中展开安装的证书(ios_development.cer)前面的箭头,可以看到其对应的私钥。

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

四.供应配置文件(Provisioning Profiles

1、选择Provisioning Profiles->Development,然后选择右侧“+”号
 
2、Select Type -> 选择iOS App Development -> 选择Continue
 
3、选择App ID,选择我之前添加的com.oschina.*,选择Continue

 

4、选择证书,选择刚才生成的开发证书,然后选择Continue

5、选择设备,会出现设备列表,一般来说把所有设备都添加进去,方便多台设备调试,选择Continue

 

6、为这个profile命名,不可含有标点,选择Generate

7.选择下载双击安装即可(如果没有下载需要在Xcode->Preferences中,选择Accounts登录账号,才能获取Provisoning profile选项【电脑需联网】)

 

五.配置Xcode

1、选择TARGETS->you app name->General

检查Bundle ID是否与描述文件所包含的App ID中的Bundle匹配,选择TARGETS->General查看,由于我们申请的是通用型App ID,所以Bundle Identifier只需要是com.oschina.打头即可,后面可以随意填写

2、选择TARGETS->you app name->Build Setting->Code Signing

    2.1、Code Signing->Provisoningprofile设置成上文下载的Provisoning Profile(joanfen),也可设置成Automatic ,XCode将会自动匹配描述文件(如果没有下载需要在Xcode->Preferences中,选择Accounts登录账号,这样在Provisoning profile看到相应的选项[电脑需联网])

   2.2、Code Signing->Code Signing Identity设置需要的证书,debug一般设置developer证书,release设置distribution证书

 

posted on 2016-05-19 14:04  wi100sh  阅读(890)  评论(0编辑  收藏  举报

导航