想要把制作好的APP安装到苹果手机上,那么必须有证书,那么这里面就涉及到如何申请iOS证书申请,还有APP上传到apple store的操作关键步骤,有些可能上传失败,才会有那么多昂贵的APP上传外包服务。
个人账号(Individual)/公司团队账号 (Company/Organization):
费用都是99美金一年,两者无本质区别,都可以发布应用到苹果市场。
区别在于个人账号在App Store销售者只能显示个人的ID,比如san zhang,单人使用。公司团队账号在App Store销售者可以显示类似Studios,或者自定义的团队名称,比如Mamshare INC,公司账号允许多个开发者协作开发,比个人帐号多一些帐号管理和级别权限的设置。
这两种帐号都可以用于开发,但在生成开发证书的时候,需要把iPhone/iPad的设备UDID进行绑定,最多可以绑定100个设备。
企业账号 (Enterprise):
费用299美金一年,该账号开发应用不能发布到App Store,只能用于企业自己内部使用的app通过网站下载,对测试的苹果iOS设备UDID数量不限制。企业账号适合不希望上线App Store,但是需要企业内部比如1000人的iOS设备都部署时使用。
不管是¥99还是¥299的苹果帐号,在证书申请和使用上没有本质区别,都分为Development和Distribution模式,标识出用于开发调试还是用于发布部署。
使用X5打包服务器打包时需要两个文件,p12和mobileprovision。
p12: 是证书的备份,生成方法请参看《iOS证书申请教程》。对于发布模式,生成的文件命名为ios.distribution.p12,而开发模式命名为ios.developer.p12。
mobileprovision: 是某一个App的描述文件,同样区分是开发还是发布模式。如果是发布模式,文件命名为ios.distribution.mobileprovision;如果是开发模式,文件命名为ios.developer.mobileprovision。
有了对应的证书文件,在打包过程中按照向导界面提示,选择需使用证书的相应选项,是开发证书则选择ios.developer.mobileprovision和ios.developer.p12,是发布证书则选择ios.distribution.mobileprovision和ios.distribution.p12。
证书和描述文件从本地选择后,同时输入自己导出p12证书文件时的密码。然后在打包向导的最后一步,根据自己是开发还是发布模式,选择是否勾选“发布模式”。点完成,享受你的ipa吧。具体的打包过程详见《平台生成App包过程详解》。
打包服务器搭建详见文章《应用打包服务器环境搭建》。
首先您需要有一个苹果的个人/公司开发者帐号。如果没有帐号可以打开https://developer.apple.com/申请加入苹果的开发者计划。如何申请网上有详细的介绍,在此不多做介绍。
申请发布证书前,您需要先本地创建一个证书请求文件,这时需要使用之前搭建好的X5本地应用打包服务器(即mac os x虚拟系统)。打开“应用程序”–>“实用工具”–>“钥匙串访问”–>“证书助理”中选择“从证书颁发机构请求证书”。
打开“证书信息”界面如下图所示:
用户电子邮件地址:填写您申请苹果开发者帐号的电子邮件地址;
常用名称(默认即可);
CA电子邮件地址空着;
选择存储到磁盘,点击“继续”。
选择保存的位置,比如选择桌面,点击“存储”就可以看到在桌面上多了一个CertificateSigningRequest.certSigningRequest的证书请求文件。此文件申请ios发布证书时需要用到,请注意保存。
打开http://developer.apple.com/,点击“Member Center”进入登录界面。
使用您申请的苹果开发帐号登录,见下图:
登录以后可以看到以下界面。其中列出了您开发需要的一些工具、支持、itunes app管理等内容。选择第二项Certificates,ldentifiers&Profiles进入,所有证书相关的操作都在这里进行。
进入Certificates,ldentifiers&Profiles后,选择左边的Certificates项进入详细界面,然后点击左侧菜单“Certificates”下的All。
点击右上角的加号申请新证书。当使用的是299美元的苹果企业开发帐号时,希望在企业内部分发APP时,在这里需选择Production发布证书,选中In-House and Ad Hoc,点击Continue进入下一步。
当使用的是99美元的个人/公司团队开发帐号应用需要发布至Appstore时,在这里需选择Production发布证书,选中App Store and Ad Hoc,点击Continue进入下一步。
无论是使用299美元还是99美元的帐号,当申请证书用于开发调试时,在这里需选择Development开发证书,选中iOS App Development,点击Continue进入下一步。
进入Request,点击Continue进入下一步。
进入Generate界面,点击下面的“Choose File”,选择桌面上本地创建的“CertificateSigningRequest.certSigningRequest”证书请求文件,点击Generate,生成发布证书。
点击左侧的All,会列出证书列表,点击证书名称即可以进行下载。(下面的截图以发布证书为例)
点击“download”下载您生成的证书。下载完成后双击证书安装。在证书上单击右键,在弹出菜单上选择导出选项。
注意:左上角的小锁图标必须为开锁状态,种类需选择“我的证书”。
如右键菜单没有导出选项,多切换几次就会有了。这个地方MAC系统有些缺陷,多点几次就会有的。
给导出的证书起个名字,选择存储的位置。(注意:格式为P12的个人信息交换文件。)
给导出的P12文件设置密码,此密码在Justep X5平台上打ipa包时需要用到。
注意:2015-10-28最新发布的X5本地应用打包服务器_V3.2.1,采用Mac OS X 10.11操作系统,在密码强度上的要求更严格了。苹果开发帐号的P12证书导出时需要使用系统提供的具有较高密码强度的密码,详见文章《IOS的证书P12文件的密码问题》。
打包向导中会直接提示需输入P12证书的密码。
在使用Native给应用打APP包时,需修改配置文件build.properties。
如下图所示,build.properties文件中的iosCerPassword即导出P12文件所设置的密码。
每个发布的应用需有一全唯一的AppID。在下图的左边选择 App IDs,点击右上角加号按钮,开始申请一个新的AppId。
输入AppID Description Name,用来描述您的AppID。(注意,必须输入英文)
下方App ID Suffix输 入Bundle ID:这是您AppID的后缀,这个需要仔细命名,因为这个内容和您的程序直接相关,很多地方都需要用到,最好是com.yourcompany.yourappname的格式。当然对于没有公司名的个人开发者,也可以用您自己的英文名字或者拼音。
Justep X5在线编译打ipa包时,在studio里创建本地App时填写的“应用包名”就是您在此输入的内容:
继续下一步完成提交。点击左侧菜单App IDs即可回到列表看见已经生成的AppID。
在下图左边选择provisioningProfiles下的All选项,点击加号按钮,申请ProvisioningProfiles文件。
Select Type类型界面,Development作为开发使用,Distribution作为发布使用。
当使用的是299美元的苹果企业开发帐号要生成发布证书时,选择In-House,然后点击Continue按钮进入下一步。(注意:需要与之前生成的P12证书类型保持一致。)
当使用的是99美元的个人开发帐号应用需要发布至Appstore时,选择App Store,然后点击Continue按钮进入下一步。(注意:需要与之前生成的P12证书类型保持一致。)
无论是使用299美元还是99美元的帐号,当申请证书用于开发调试时,在这里需选中iOS App Development,点击Continue进入下一步。(注意:需要与之前生成的P12证书类型保持一致。)
点击下拉菜单,选择要申请的App ID,点击Continue按钮进入下一步。
需生成发布模式APP的mobileprovision描述文件时,如下图,选择之前创建的发布证书,点击Continue按钮进入下一步。
需生成开发模式APP的mobileprovision描述文件时,如下图,选择之前创建的开发证书,以及需要测试安装的设备,点击Continue按钮进入下一步。
苹果开发帐号里添加开发测试的设备信息,即苹果设备的UDID的方法,参看链接 如何获取UDID。注:UDID是苹果设备的标识符,可以说是苹果手机的身份证号码,是唯一的。
苹果开发帐号中添加UDID设备信息的界面如下:
Profile Name填入描述文字,只能输入英文。
点击Generate按钮创建provisioning文件。等待几秒钟,provisioning就可以下载了。
点击download下载。得到了一个xxxxxx.mobileprovision文件,Justep X5在线打ipa包时需要使用的ios.distribution.mobileprovision或者ios.development.mobileprovision就是您生成的这个文件。
这里也特别声明,这里的操作步骤跟内容,来自个人,仅供参考。