概述:ios
首先得描述一下各个证书的定位,做用,这样在制做的时候心中有谱,对整个流程的把握也会准确一些;windows
一、Certificate 开发者证书(分为开发和发布两种,类型为ios Development,ios Distribution)xcode
这个是最基础的,不管是真机调试,仍是上传到appstore都是须要的,是一个基证书,用来证实本身开发者身份的;浏览器
APNS证书是给服务器开发push notification用的,详见3.服务器
二、Identifiers:标识app
2.一、App ID,这是每个应用的独立标识,能够包含通配符也能够不含,在设置项中能够配置该应用的权限,好比是否用到了PassBook,GameCenter,以及更常见的push服务,若是选中了push服务,那么就能够建立生成下面第3条所提到的推送证书,因此,在全部和推送相关的配置中,首先要作的就是先开通支持推送服务的appID;ide
格式如:com.company.product.*, 或 com.company.product.1.0。测试
三、推送证书(分为开发和发布两种,类型分别为APNs Development ios,APNs Distribution ios)ui
APNS证书是给服务器开发push notification用的;该证书在appID配置(标题2.1)中建立生成,和开发者证书同样,安装到开发电脑上;spa
生成是如上图,须要生成两个证书,Development SSL Certificate和Production SSL Certification,前者用于开发测试,后者用于发布,若是是使用第三方推送或是本身后台写的PHP推送服务器,要使用后者。
注意若是程序支持game center, in app purchase,push notification,这个app id中不能包含通配符“*”。
四、Devices 管理测试设备:
使用你的测试设备的UUID添加进来,而后在Profiles里面选择这些设备。生成Provisioning Profiles后再添加的测试设备,如想要用它进行真机调试,须要更新Provisioning Profiles,编辑对应Provisoning Profiles,将设备添加进来。
删除设备会使全部关联这个设备的Provisioning Profiles失效,全部不要随便删,要删在下次续费时删除。
五、Provisioning Profiles
这个东西是颇有苹果特点的一个东西,该文件将App ID,开发者证书,硬件Device绑定到一起,在开发者中心配置好后能够添加到Xcode上,也能够直接在Xcode上链接开发者中心生成,真机调试时须要在PP文件中添加真机的udid;是真机调试必备之珍品;
Provisioning Profiles配置文件,分为两种
5.一、 Development 开发版,创建开发版本的profile时只能选择证书中的开发证书,而且支持多选多个证书,多个开发人员能够共用一个profile;同时能够选择多个3创建的设备;
5.二、 Distribution 正式版,此版本profile分为
a. App Store版本,是发布到App Store时使用的profile,建立时先选择Identifiers中的AppID,再选择一个证书,选择时应该你建立的证书;
b. Ad Hoc版本,Ad Hoc是给某些企业发布紧企业内部使用的;
日常咱们的制做流程通常都是按以上序列进行,先利用开发者账号登录开发者中心,建立开发者证书,appID,在appID中开通推送服务,在开通推送服务的选项下面建立推送证书(服务器端的推送证书见下文),以后在PP文件中绑定全部的证书id,添加调试真机等;
在Xcode中管理,5.0以后,打开Preference,选择Accounts;点击View Details...
点击刷新,能够刷新XCode和设备上的Provisioning Prefiles;同时能够制做Development Provisioning Prefiles和Distribution Provisioning Prefiles。
如今上具体流程:
一、开发者证书制做安装步骤:大概过程是:选择受权类型,开发仍是发布->提交在mac设备中建立的公钥-> 下载证书,并安装
1.一、建立证书签名请求公钥
打开应用程序中的“钥匙串访问”,在菜单里点击“证书助理”下面的“从证书代理请求证书”,注意下面不要选中任何行,不然菜单会变。
输入本身的注册Email,经常使用名称能够写详细一点,好比“Unfish Dev Key”,下面选中“存储到磁盘”,点继续,可能会出现未知错误,多试几回就OK了。
1.二、建立开发者证书
在浏览器中进入开发者中心的Certificaties导航页面,点击右上角的加号;
证书类型选择iOS App Development,点击继续;
下个界面须要一个CSR文件,就是咱们在1.1中建立的公钥;选取你生成的csr文件,点击生成。
点击生成后会生成一个cer证书,如图所示;
点击Download,下载下来,双击打开双击会自动导入钥匙串,导入类型选择“登陆”就能够。
1.三、添加你的测试设备(这一步只是开发证书有用,发布证书是不须要这个东西的。)
把手机连到电脑上,在xcode的windows菜单下打开Organizer,左边的devices下面会列出你的手机,右边的Identifier项就是你的手机的udid,复制下来,待会要用。若是这个手机尚未设置过做为开发机,这个界面上应该会有两个按钮,点一下就能够把它设为开发机,在xcode里点Build and go的时候就能够自动的安装你的程序到手机上,不须要经过ITunes了。
在开发者中心的左边Devices导航页,点击右上角Add Device;
起个本身认识的名字,把udid粘贴进去就能够了,在全部设备中会出现你的设备。
1.四、建立App ID:
咱们须要为应用建立一个App ID,他是识别这个应用的惟一标识,在开发者中心的Identifier导航页的App ID页面,点击右上角建立新的App ID,这个App ID须要跟程序的info.plist里面定义的程序Identifier相对应;
为App ID命名,注意命名规则:
选择App ID类型:
Explicit类型是不使用*通配符,支持全部App Services;Wildcard App ID类型,可使用*通配符命名。
若是这里只输入一个*,那么info.plist里Bundle identifier写什么均可以,使用*通配符,适用于批量的,没有推送,Game Center等服务的应用。若是你的应用要用到推送、GameCenter、PassCard等服务请勿使用。
格式规则:苹果建议使用域名倒序的方式命名;
若使用通配符com.*命名,那么在应用的info.plist中Bundle identifier只要以com.开头,后面写什么均可以。
继续点击提交建立成功。
1.五、建立Provisioning Prefiles文件
进入开发者中心的Provisioning菜单,点击右上角建立;
Provisioning profile选择iOS App Development;
选择对应应用的App ID;
选择所使用的证书;
选择对应要使用的设备,我通常全选,省事儿;
取个见名知意的名儿,并点击生成;
生成之后下载这个provisioning文件,把下载下来的文件拖到Dock上的Xcode的图标上就会自动安装进去。
而后退出xcode从新打开,打开你的项目,打开Project菜单下面的Edit Project Settings,进入Build页面,找到下面的Code Signing Identity,把Any iPhone OS Device项后面选中你的开发者证书,而后就能够把项目的编译目标设为Device(而不是模拟器),试一下Run。程序应该会编译完并自动安装到你的手机上,并自动启动了。
二、发布证书制做安装步骤:
2.一、同1.1同样,咱们建立证书签名请求公钥,若是已经建立过,就直接使用之前的那个就行(CSR文件)。
进入开发者中心Certificates里面的Distribution页面,选择右上角添加;
证书类型选择Production App Store and Ad Hoc;
以后步骤和建立Development证书同样,提交SRC文件,建立成功;
而后下载这个证书,双击导入,类型选登陆。
2.二、建立Distribution Provisioning Profiles:
进入开心者中心Provisioning里面的Distribution页面,点击右上角添加新的Provisioning;
类型选App Store,(若是选了Ad Hoc,就只有你添加过udid的手机才能安装这个程序了,通常用于企业账号,这里咱们不介绍);
以后步骤和建立Development证书基本一致(少了一个选择设备步骤),Distribution证书选好,App ID选好,取好名称,建立完成;下载这个文件,拖到xcode的图标上安装完成。退出xcode再从新打开,不然加载不了你刚刚添加的那个证书,会出现Provisioning无效的提示。
打开工程,进入Build Settings页面,在Code Signing Identity里面的Any iPhone OS Device后面对应的值选中你的那个Distribution的证书。而后就能够编译程序了。
三、在Xcode中建立Provisioning Prefiles
在Xcode中管理,5.0以后,打开Preference,选择Accounts;点击View Details...
点击添加Development Provisioning Prefiles,步骤和MemberCenter添加过程基本一致;
帐号密码换了,验证失败,下回在给你们介绍吧。
四、如何要把测试版发给别人:
五、程序发布到AppStore的步骤: