iOS证书申请和使用说明
目录
苹果开发帐号说明
苹果证书和X5打包服务器的配合使用
iOS证书申请教程
苹果证书和极光推送的配合使用
苹果开发帐号说明
个人账号(Individual)/公司团队账号 (Company/Organization):
费用都是99美金一年,两者无本质区别,都可以发布应用到苹果市场。
区别在于个人账号在App Store销售者只能显示个人的ID,比如san zhang,单人使用。公司团队账号在App Store销售者可以显示类似Studios,或者自定义的团队名称,比如Mamshare INC,公司账号允许多个开发者协作开发,比个人帐号多一些帐号管理和级别权限的设置。
这两种帐号都可以用于开发,但在生成开发证书的时候,需要在生成mobileprovision描述文件时把需要安装的iPhone/iPad的设备UDID进行绑定(最多可以绑定100个设备),否则生成的ipa不能正常安装到测试设备上。
企业账号 (Enterprise):
费用299美金一年,该账号开发应用不能发布到App Store,只能用于企业自己内部使用的app通过网站下载,对测试的苹果iOS设备UDID数量不限制。
X5官网提供的 ipa下载就是通过企业帐号提供的。这种分发模式需要部署一个https网站,通过plist文件描述ipa。详见《苹果App部署HTTPS进行在线下载安装》
苹果证书和X5打包服务器配合使用
不管是$99还是$299的苹果帐号,在证书申请和使用上没有本质区别,都分为Development和Distribution模式,标识出用于开发调试还是用于发布部署。
使用X5打包服务器打包时需要两个文件,p12和mobileprovision。
p12: 是证书的备份,生成方法请参看《iOS证书申请教程》。对于发布模式,生成的文件命名为ios.distribution.p12,而开发模式命名为ios.developer.p12。
mobileprovision: 是某一个App的描述文件,同样区分是开发还是发布模式。如果是发布模式,文件命名为ios.distribution.mobileprovision;如果是开发模式,文件命名为ios.developer.mobileprovision。
Tips:一个P12文件可以匹配多个APP,但是一个APP只有一个对应的mobileprovision文件。同时P12文件必须与App的mobileprovision文件匹配,在生成mobileprovision文件时需选择对应的P12文件,如果不匹配会造成打包失败。
有了对应的证书文件,在打包过程中按照向导界面提示,选择需使用证书的相应选项,是开发证书则选择ios.developer.mobileprovision和ios.developer.p12,是发布证书则选择ios.distribution.mobileprovision和ios.distribution.p12。
证书和描述文件从本地选择后,同时输入自己导出p12证书文件时的密码。然后在打包向导的最后一步,根据自己是开发还是发布模式,选择是否勾选“发布模式”。点完成,享受你的ipa吧。具体的打包过程详见《WeX5平台生成App包过程详解》。
iOS证书申请教程
一、准备工作
1.1.准备X5本地应用打包服务器
打包服务器搭建详见文章《X5应用打包服务器环境搭建》。
1.2.准备苹果帐号
首先您需要有一个苹果的个人/公司开发者帐号。如果没有帐号可以打开https://developer.apple.com/申请加入苹果的开发者计划。如何申请网上有详细的介绍,在此不多做介绍。
1.3. 申请证书请求文件(用于生成P12证书文件)
Tips:一个P12文件可以匹配多个APP,如果你之前已生成过开发或发布的P12证书文件,就可以跳过1.3以及二、三章节介绍的P12的生成步骤,直接查看第四章创建AppID以及生成App的mobileprovision文件。
1.3.1.钥匙串程序申请请求文件
申请发布证书前,您需要先本地创建一个证书请求文件,这时需要使用之前搭建好的X5本地应用打包服务器(即mac os x虚拟系统)。打开“应用程序”–>“实用工具”–>“钥匙串访问”–>“证书助理”中选择“从证书颁发机构请求证书”。
<img title="" alt="1" class="alignnone size-full wp-image-3236" src="http://wex5.com/cn/wp-content/uploads/2015/03/1.jpg" width="538" height="292" />
1.3.2.保存请求文件设置
打开“证书信息”界面如下图所示:
用户电子邮件地址:填写您申请苹果开发者帐号的电子邮件地址;
常用名称(默认即可);
CA电子邮件地址空着;
选择存储到磁盘,点击“继续”。
<img title="" alt="2" class="alignnone size-full wp-image-3237" src="http://wex5.com/cn/wp-content/uploads/2015/03/2.jpg" width="554" height="393" />
1.3.3.保存请求文件名称和位置
选择保存的位置,比如选择桌面,点击“存储”就可以看到在桌面上多了一个CertificateSigningRequest.certSigningRequest的证书请求文件。此文件申请ios发布证书时需要用到,请注意保存。
<img title="" alt="3" class="alignnone size-full wp-image-3238" src="http://wex5.com/cn/wp-content/uploads/2015/03/31.jpg" width="554" height="392" />
二、申请ios发布证书
2.1 进入证书申请页面
打开http://developer.apple.com/,点击“Member Center”进入登录界面。
<img title="" alt="4" class="alignnone size-full wp-image-3239" src="http://wex5.com/cn/wp-content/uploads/2015/03/41.jpg" width="790" height="63" />
使用您申请的苹果开发帐号登录,见下图:
<img title="" alt="5" class="alignnone size-full wp-image-3240" src="http://wex5.com/cn/wp-content/uploads/2015/03/51.jpg" width="554" height="339" />
登录以后可以看到以下界面。其中列出了您开发需要的一些工具、支持、itunes app管理等内容。选择第二项Certificates,ldentifiers&Profiles进入,所有证书相关的操作都在这里进行。
<img title="" alt="6" class="alignnone size-full wp-image-3241" src="http://wex5.com/cn/wp-content/uploads/2015/03/61.jpg" width="553" height="266" />
进入Certificates,ldentifiers&Profiles后,选择左边的Certificates项进入详细界面,然后点击左侧菜单“Certificates”下的All。
<img title="" alt="7" class="alignnone size-full wp-image-3242" src="http://wex5.com/cn/wp-content/uploads/2015/03/71.jpg" width="330" height="322" />
<img title="" alt="8" class="alignnone size-full wp-image-3243" src="http://wex5.com/cn/wp-content/uploads/2015/03/8.jpg" width="982" height="389" />
2.2 选择申请证书类型
点击右上角的加号申请新证书。当使用的是299美元的苹果企业开发帐号时,希望在企业内部分发APP时,在这里需选择Production发布证书,选中In-House and Ad Hoc,点击Continue进入下一步。
<img title="" alt="9" class="alignnone size-full wp-image-3244" src="http://wex5.com/cn/wp-content/uploads/2015/03/9.jpg" width="978" height="727" />
当使用的是99美元的个人/公司团队开发帐号应用需要发布至Appstore时,在这里需选择Production发布证书,选中App Store and Ad Hoc,点击Continue进入下一步。
<img title="" alt="10" class="alignnone size-full wp-image-3246" src="http://wex5.com/cn/wp-content/uploads/2015/03/10.jpg" width="979" height="675" />
无论是使用299美元还是99美元的帐号,当申请证书用于开发调试时,在这里需选择Development开发证书,选中iOS App Development,点击Continue进入下一步。
<img title="" alt="2" class="alignnone size-full wp-image-11696" src="http://wex5.com/cn/wp-content/uploads/2015/03/215.jpg" width="984" height="444" />
2.3 申请注意事项
进入Request,点击Continue进入下一步。
<img title="" alt="11" class="alignnone size-full wp-image-3247" src="http://wex5.com/cn/wp-content/uploads/2015/03/11.jpg" width="972" height="633" />
2.4 添加证书请求文件
进入Generate界面,点击下面的“Choose File”,选择桌面上本地创建的“CertificateSigningRequest.certSigningRequest”证书请求文件,点击Generate,生成发布证书。
<img title="" alt="12" class="alignnone size-full wp-image-3248" src="http://wex5.com/cn/wp-content/uploads/2015/03/12.jpg" width="975" height="605" />
2.5 下载证书
点击左侧的All,会列出证书列表,点击证书名称即可以进行下载。(下面的截图以发布证书为例)
<img title="" alt="13" class="alignnone size-full wp-image-3265" src="http://wex5.com/cn/wp-content/uploads/2015/03/13.jpg" width="981" height="353" />
三、iOS证书P12导出
3.1 证书导入到钥匙串程序中
点击“download”下载您生成的证书。下载完成后双击证书安装。在证书上单击右键,在弹出菜单上选择导出选项。
注意:左上角的小锁图标必须为开锁状态,种类需选择“我的证书”。
如右键菜单没有导出选项,多切换几次就会有了。这个地方MAC系统有些缺陷,多点几次就会有的。
<img title="" alt="29" class="alignnone size-full wp-image-3657" src="http://wex5.com/cn/wp-content/uploads/2015/03/29.jpg" width="661" height="449" />
3.2 证书保存为.P12的个人信息交换文件
给导出的证书起个名字,选择存储的位置。(注意:格式为P12的个人信息交换文件。)
<img title="" alt="15" class="alignnone size-full wp-image-3250" src="http://wex5.com/cn/wp-content/uploads/2015/03/15.jpg" width="598" height="272" />
3.3 p12文件添加密码
给导出的P12文件设置密码,此密码在Justep X5平台上打ipa包时需要用到。设置密码后P12文件就在指定位置生成了。
Tips:P12文件需注意保存好,在打包过程中需要使用到。
<img title="" alt="16" class="alignnone size-full wp-image-3251" src="http://wex5.com/cn/wp-content/uploads/2015/03/16.jpg" width="673" height="312" />
注意:2015-10-28最新发布的X5本地应用打包服务器_V3.2.1,采用Mac OS X 10.11操作系统,在密码强度上的要求更严格了。苹果开发帐号的P12证书导出时需要使用系统提供的具有较高密码强度的密码,详见文章《IOS的证书P12文件的密码问题》。
最新的WeX5和BeX5_V3.2.1版本,打包向导中会直接提示需输入P12证书的密码。
<img title="" alt="6" class="alignnone size-full wp-image-11708" src="http://wex5.com/cn/wp-content/uploads/2015/03/64.jpg" width="800" height="604" />
但在原WeX5和BeX5_V3.2版本中,在使用Native给应用打APP包时,需修改配置文件build.properties。
如下图所示,build.properties文件中的iosCerPassword即导出P12文件所设置的密码。
<img title="" alt="28" class="alignnone size-full wp-image-3275" src="http://wex5.com/cn/wp-content/uploads/2015/03/28.jpg" width="680" height="464" />
四、创建iOS应用AppID
4.1 进入申请界面
每个发布的应用需有一全唯一的AppID。在下图的左边选择 App IDs,点击右上角加号按钮,开始申请一个新的AppId。
<img title="" alt="17" class="alignnone size-full wp-image-3252" src="http://wex5.com/cn/wp-content/uploads/2015/03/17.jpg" width="983" height="427" />
4.2 填写AppID名称
输入AppID Description Name,用来描述您的AppID。(注意,必须输入英文)
<img title="" alt="18" class="alignnone size-full wp-image-3253" src="http://wex5.com/cn/wp-content/uploads/2015/03/18.jpg" width="979" height="618" />
4.3 生成AppID
下方App ID Suffix输 入Bundle ID:这是您AppID的后缀,这个需要仔细命名,因为这个内容和您的程序直接相关,很多地方都需要用到,最好是com.yourcompany.yourappname的格式。当然对于没有公司名的个人开发者,也可以用您自己的英文名字或者拼音。
Justep X5在线编译打ipa包时,在studio里创建本地App时填写的“应用包名”就是您在此输入的内容:
<img title="" alt="19" class="alignnone size-full wp-image-3254" src="http://wex5.com/cn/wp-content/uploads/2015/03/19.jpg" width="666" height="448" />
4.4 查看生成AppID
继续下一步完成提交。点击左侧菜单App IDs即可回到列表看见已经生成的AppID。
<img title="" alt="20" class="alignnone size-full wp-image-3255" src="http://wex5.com/cn/wp-content/uploads/2015/03/20.jpg" width="972" height="841" />
五、申请iOS APP应用的Provisioning Profiles文件
Tips:一个P12文件可以匹配多个APP,但是一个APP只有一个对应的mobileprovision文件。
5.1 进入申请界面
在下图左边选择provisioningProfiles下的All选项,点击加号按钮,申请ProvisioningProfiles文件。
<img title="" alt="21" class="alignnone size-full wp-image-3256" src="http://wex5.com/cn/wp-content/uploads/2015/03/21.jpg" width="982" height="640" />
5.2 选择申请类型
Select Type类型界面,Development作为开发使用,Distribution作为发布使用。
当使用的是299美元的苹果企业开发帐号要生成发布证书时,选择In-House,然后点击Continue按钮进入下一步。(注意:需要与之前生成的P12证书类型保持一致。)
<img title="" alt="22" class="alignnone size-full wp-image-3257" src="http://wex5.com/cn/wp-content/uploads/2015/03/22.jpg" width="974" height="671" />
当使用的是99美元的个人开发帐号应用需要发布至Appstore时,选择App Store,然后点击Continue按钮进入下一步。(注意:需要与之前生成的P12证书类型保持一致。)
<img title="" alt="23" class="alignnone size-full wp-image-3258" src="http://wex5.com/cn/wp-content/uploads/2015/03/23.jpg" width="971" height="665" />
无论是使用299美元还是99美元的帐号,当申请证书用于开发调试时,在这里需选中iOS App Development,点击Continue进入下一步。(注意:需要与之前生成的P12证书类型保持一致。)
<img title="" alt="3" class="alignnone size-full wp-image-11697" src="http://wex5.com/cn/wp-content/uploads/2015/03/36.jpg" width="737" height="420" />
5.3 选择对应的App ID
点击下拉菜单,选择要申请的App ID,点击Continue按钮进入下一步。
<img title="" alt="24" class="alignnone size-full wp-image-3259" src="http://wex5.com/cn/wp-content/uploads/2015/03/24.jpg" width="978" height="591" />
5.4 选择对应的证书
Tips:在生成mobileprovision文件时需选择对应的P12文件,所以你在存储P12文件时必须与App的mobileprovision文件配对存放,如果不匹配也会造成打包失败。
需生成发布模式APP的mobileprovision描述文件时,如下图,选择之前创建的发布证书,点击Continue按钮进入下一步。
<img title="" alt="25" class="alignnone size-full wp-image-3260" src="http://wex5.com/cn/wp-content/uploads/2015/03/25.jpg" width="973" height="596" />
需生成开发模式APP的mobileprovision描述文件时,如下图,选择之前创建的开发证书,以及需要测试安装的设备,点击Continue按钮进入下一步。
<img title="" alt="4" class="alignnone size-full wp-image-11698" src="http://wex5.com/cn/wp-content/uploads/2015/03/45.jpg" width="664" height="810" />
苹果开发帐号里添加开发测试的设备信息,即苹果设备的UDID的方法,参看链接 如何获取UDID。注:UDID是苹果设备的标识符,可以说是苹果手机的身份证号码,是唯一的。
苹果开发帐号中添加UDID设备信息的界面如下:
<img title="" alt="5" class="alignnone size-full wp-image-11705" src="http://wex5.com/cn/wp-content/uploads/2015/03/54.jpg" width="973" height="722" />
5.5 保存ProvisioningProfiles文件标签
Profile Name填入描述文字,只能输入英文。
<img title="" alt="26" class="alignnone size-full wp-image-3261" src="http://wex5.com/cn/wp-content/uploads/2015/03/26.jpg" width="981" height="589" />
点击Generate按钮创建provisioning文件。等待几秒钟,provisioning就可以下载了。
点击download下载。得到了一个xxxxxx.mobileprovision文件,Justep X5在线打ipa包时需要使用的ios.distribution.mobileprovision或者ios.development.mobileprovision就是您生成的这个文件。
<img title="" alt="27" class="alignnone size-full wp-image-3262" src="http://wex5.com/cn/wp-content/uploads/2015/03/27.jpg" width="974" height="719" />
苹果证书和极光推送的配合使用
请参看极光推送的iOS SDK教程 http://docs.jpush.io/client/ios_tutorials/#ios_1
极光JPush插件使用教程 http://wex5.com/cn/?p=4813
(完)