chonbj的专栏

如果想要将做的iOS应用程序装到自己的iOS设备上测试、或者装在别人的iOS设备上,或者想发布到App Store里,先要给应用签名。签名就要有证书,这就需要申请证书的过程了。

把自己的应用程序装到设备中,主要有以下几种方式:

① 把iOS设备与电脑连起来,这样在Xcode的左上角就可以选择这个设备,之后直接点击Run,程序就被装在这个iOS设备了。这个主要用于在真机上测试程序。前提是Xcode中添加了包含这个设备信息的Profile。

② 使用Xcode将应用程序以Ad Hoc方式打包,导出ipa文件,然后用iTunes等工具将应用安装到iOS设备中。这种方式所用的Profile文件要是Ad Hoc类型,并且包含指定设备的信息。导出的ipa文件也只能安装到指定的设备中。

③ 将应用程序发布到App Store上,待苹果审核通过后,其他人就可以下载安装了。

这篇博客主要讲第二种方法。PS:本人使用的是Xcode 4.4.1,测试时间是2012年9月上旬。Xcode版本不同可能操作也会不同。另外,苹果开发者网站也可能以后改版,操作流程也可能会变。

1、先要注册一个iOS开发者账号,不再详述。

2、运行浏览器,登录https://developer.apple.com/,并进入iOS Dev Center:

进入后,单击右上角的Log in,输入开发者账号和密码。

3、验证成功后,在页面的右边会出现如下选项:

单击最上面的iOS Provisioning Portal,我们申请证书、管理证书、管理设备等操作就是在这个页面中进行的。如下图:

4、运行电脑中的“钥匙串访问”应用程序(英文名:Keychain Access),它一般在“实用工具”目录下。这个程序在证书申请、给应用签名的过程中起着很大的作用。签名时的很多问题都出在这个应用中,比较典型的是

CodeSign error: Certificate identity XXX appears more than once in the keychain. The codesign tool requires there only be one.

后面会给出一般的解决办法。

5、在菜单中依次选择 证书助理——从证书颁发机构请求证书…:

在打开的窗口输入电子邮件和常用名称,并选择存储到磁盘以及让我指定密钥对信息:

单击继续,在打开的窗口设定文件名称和位置,点击继续,密钥大小选择2048位,算法选择RSA:

点击继续,则在之前设定的位置生成了.CSR的签名文件。默认名称是CertificateSigningRequest.certSigningRequest。

6、回到浏览器,在页面中依次选择Certificates——Distribution——Request Certificate:

在打开的页面选择要上传的CSR文件,提交。

7、此时正在审核刚才上传的文件,你可以单击click here to download now下载WWD intermediate certificate。

8、刷新页面,下载证书并安装,此时会自动加到钥匙串访问程序。

9、创建App ID。在浏览器的页面左边选择App ID:

然后在右边选择New App ID,如下图:

在Description输入你的应用的描述,Bundle Identifier是应用的代码标识,例如可以输入com.company.demoapp。如果你有Team ID,那么这个ID会自动加在Identifier前边。注意:

① 由于现在苹果还没提供App ID删除功能,所以Description最好也是唯一的,否则后边用到的时候会很麻烦。

② 在Xcode 4.4.1中,如果查看工程的Bundle Identifier,会发现对应于前边的demoapp部分是不可改的,所以在输入Bundle Identifier时可以就用Xcode中给定的,这样可以省去很多不知道的麻烦。

③ 建议申请一个最后字段为“ *”的ID,这样可以用同样的ID,提交一套应用程序,而无需为每个应用都申请单独的ID。

10、添加设备。如果你希望导出的ipa只能安装在指定的设备,则要将这些设备添加到上图中左侧的Devices中。先要获取iOS设备的标识符(不是序列号),可以将设备与iTunes相连,选择这个设备,,会先显示序列号:

此时单击序列号,就会出现标识符:

11、回到浏览器的页面,在左边单击Device,然后选择Add Devices:

在打开的页面中添加设备。别忘了Submit。

12、现在可以制作Profile了。在浏览器的页面中单击Provisioning——Distribution:

然后选择New Profile:

走过的路成为背后的风景,不能回头不能停留,若此刻停留,

chonbj的专栏

相关文章:

你感兴趣的文章:

标签云: