一、准备工具&证书介绍
工具
- 首先你需要有一个苹果的开发者帐号,一个Mac系统。
如果没有开发者帐号可以打开苹果开发者中心申请加入苹果的开发者计划。
证书介绍
- 个人开发者账号:以个人的名义申请的开发者账号,有AppleID即可申请;可以在AppStore上发布应用;可以打包内测版安装包,需要提供安装设备的UDID,测试设备上限为100;费用:$99
- 公司开发者账号:以公司的名义申请的开发者账号,有AppleID即可申请,申请时需要提供公司的邓白氏编码;可以在AppStore上发布应用;可以打包内测版安装包,需要提供安装设备的UDID,测试设备上限为100;费用:$99
- 企业开发者账号:以公司的名义申请的开发者账号,有AppleID即可申请,申请时需要提供公司的邓白氏编码;不可以在AppStore上发布应用;可以打包企业版安装包,不需要提供安装设备的UDID,没有设备数量限制;费用:$299
二、新建App IDs
-
打开苹果开发者中心并登录https://developer.apple.com/,点击左侧的导航栏Certificates, Identifiers & Profiles
-
进入之后点击左侧的identifiers下面的App IDs,之后点击右上角的加号新建
-
App ID Description 的Name填写是对App ID的描述,不能包含如下图所列特殊符号,最好的规范是以英文项目名称命名;Bundle ID比较重要,这是你App ID的后缀。因为这个内容和你的程序直接相关,后面很多地方要用到,最好是com.yourcompany.yourappname的格式;App Services,默认会选择2项,不能修改,只需要选择上自己需要的服务即可,比较常用的是消息推送通知,如果需要用到勾选Push Notifications,最后点提交就行。
三、证书创建
-
首先创建一个证书请求文件,打开应用程序-实用工具-钥匙串访问(KEY CHAIN),在证书助理中,选择"从证书颁发机构求证书",如下图:
-
在下图所示的界面,你的电子邮件地址:填你申请idp的电子邮件地址,常用名称,默认就好,CA空,选择存贮到磁盘,点击"继续":选择保存的位置,比如选择桌面。下一步点击完成,你就可以看到你的桌面多了一个CertificateSigningRequest.certSigningRequest的证书请求文件。注:CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的密钥的名字。
四、新建配置文件
-
制作Provisioning Profile证书文件。登陆到开发者中心,点击左侧导航栏Certificates,点击右上角的加号新建,我们打包一般都是为了分发和上线苹果商店,勾选In-House and Ad Hoc,然后下一步,会提示创建CSR文件,也就是证书签名请求文件。直接选择我们上一步保存在桌面的CertificateSigningRequest.certSigningRequest的证书请求文件即可。
-
提交上去后就会生成一个cer证书,如下图所示,点击下载后双击安装(切记该页面列表别人创建的证书不要随意去删除)。
-
点击左侧导航栏的Provisioning Profile,点击右上角按钮新建申请配置文件,上线苹果商店勾选App Store选项,个人和公司证书可以上线苹果商店,企业版证书只能内部分发
选择关联App ID (也是我们刚刚创建的bundleID),一定要选择对,然后再选择关联的cer文件,之后就是输入一个配置证书的名字了,然后生成,下载保存,双击就添加到Xcode中,这样在真机调试或者发布时,就可以分别有不同的配置文件与其对应。
五、IOS打包详细流程
1、首先双击安装ios打包证书p12文件,(证书创建者可以导出.p12文件,如果是自己创建的则跳过此步骤)如下图:
2、 此步骤可省略,下面步骤为之前的老项目ionic+angular+cordova框架搭建的混合开发工程,集成了gulp包管理工具,通过命令gulp build-test/prod编译测试或者正式环境,然后通过命令添加打包平台cordova platform add ios(已有平台不需要重复添加,切换不同环境需要移除后再重新添加,修改或新增插件也要移除平台后重新添加)
3、 找到xcodeproj文件双击用xcode打开(前提安装xcode),如下图
4、取消automatically manage signing勾选,选择配置文件(选择与项目Bundle ID对应的配置文件),如果不匹配会有错误提示。如下图:
5、修改配置项info语言为china,默认为English;如果有消息推送通知,还需要点击Capabilities,打开推送Push Notifications选项,如下图:
6、修改build setting中的signing,选择code siging identity;development team ;provisioning profile 如下图
7、选择generic ios device(锤子),如下图
8、选择product,archive,打包成功后会提示build success,然后跳转到下面页面,选择export导出,如下图:
9、选择ipa包导出类型,app store是上线苹果商店正式环境的包(如果是正式环境上传appstore则选默认第一个,后面操作步骤相同);ad hoc是内部测试包(测试包环境选这个);如下图:
10、next => next => 选择对应的cer证书和描述文件 => next => erport选择导出包的存放路径,然后找到打好的包存储位置.ipa后缀文件就是我们的安装包,如下图:
OK大功告成,如果是企业版内部分发的可以直接上传一些第三方分发平台类似蒲公英这种,提供给客户扫码下载。(注意:目前很多第三方下载平台只有限定的一些免费服务,先考量下是否符合客户需求);如果需要上线苹果商店的请看下一篇文章,上线App Store指引。