现在的位置: 首页 > 综合 > 正文

IOS开发中的证书和代码签名(code signing)

2013年10月04日 ⁄ 综合 ⁄ 共 1465字 ⁄ 字号 评论关闭

代码签名的重要性
Code signing 对我们来说,最主要的意义就是它能让我们的App在设备上运行。不管是你自己的设备,还是客户的,还是在App store上购买你的消费者。

如果没有code signing,你只可以在模拟器上,或者一台越狱过的机器上运行你的应用----当然,仅仅如此是不能满足我们的,模拟器的测试仅仅是一种初步测试,模拟器不能替代真机调试。

代码签名涉及到以下概念:
1证书
证书分两种:开发者(Developer)证书、发布者(Distribution)证书。前者开发时使用,后者发布使用。
证书需要自己通过keychain生成一个CSR文件(Certificate Signing Request),并把它上传给苹果,通过苹果的”Apple Worldwide Developer Relations Certification Authority”(WWDR)证书认证中心认证以后,下载下来使用。

苹果官网的证书创建界面如下图所示:

2 App ID
在Xcode中创建一个项目,你要提供 Product Name 和Company Identifier的信息。
Product Name,就是你的app的一个较短的名称。
Company identifier,通常会是一个反转的DNS串,例如:com.mycompanyname
这两者合起来,就是Bundle Identifier。你能在Info.plist中找到。

跟每个人都对应一个唯一的身份证一样,每一个app都对应一个唯一的app ID。对于每一个你要发布的app,你需要到Apple Developer Center中注册你的App ID。

3 UDID
UDID (Unique Device Identifier)是区分物理设备的唯一标识。你的iPhone肯定有一个与众不同的UDID,通常UDID会是一个40位十六进制字符串。

4 Provisioning Profile
把前面讲的东西结合起来:
·App ID (app的唯一标识)
·UDID (在某台设备上运行的唯一标识)
·Certificate (开发者认证)
就是所谓的Provisioning Profile(描述文件)。
你可以在iOS Provisioning Profiles 中创建你的Provisioning Profile,如下图所示:

通常,xcode中需要进行如下的代码签名配置:

Provisioning Profile 通过xcode或者itunes导入到device中,或者打包到一个包含app和profile的.ipa文件中,只有这样,你才可以进行调试或向app Store提交应用。

5团队开发中如何共用证书
团队开发中,需要共享证书文件和私钥。
证书文件可以从苹果官网下载,但是私钥需要从创建该证书的机器上拷出来,给项目组的其他同事。

5.1安装对应的证书
从苹果官网下载响应的开发者或者发布者证书

5.2导出并安装密钥
①打开keychain,选择密钥
②找到对应的开发证书,右键选择与开发证书相配套的私钥(专用密钥),并点击 ‘导出’,保存为 Personal Information Exchange (.p12) 文件格式,将提示你创建一个密码,并需要管理员密码才可导出。
③拷贝该p12文件到其他机器上,安装时会提示你输入上一步设置的密码,输入后安装即可使用。

                                                                                                                                                                                              -----------by wangzz

抱歉!评论已关闭.