开发/真机调试流程:
申请证书
加入设备
生成Provisioning Profile
设置Xcode Code Sign Identifer
发布流程:
创建发布证书
创建App ID
创建对应的Provisioning Profile文件
设备Bundle ID和App ID一致
设置Xcode Code Sign Identifer,选择合适的Profile和证书进行签名,打包
App development:
Certificates:证书,常用的证书类型有4种:真机调试证书、推送调试证书,发布证书、推送生产证书。
Identifiers:AppID,跟项目工程的 BundleId 匹配,需要支持推送、Game Center 等功能的 AppID 不能包含通配符*。
Devices:iOS设备在真机调试、AdHoc发布时都需要包含设备的 UDID 才可以安装。
Provisioning Profile:配置文件(描述文件),不同类型的开发者账号都包含 Development、AdHoc 这两种 Profile,不同的是个人、公司开发者账号有发布到 AppStore 的 Profile,而企业开发者账号则是 InHouse 企业内发布的 Profile。
Certificate(证书):
Certificate:是你有权利开发的凭证,是开发者的一种标识,相当于***,一个开发者账号只有一套。一套含两个,Development和Distribution(也就是Production)。
Development证书:提供开发者在电脑上真机调试的权限,可以制作多个副本分发到多台电脑。
Distribution证书:给开发者提供发布ios程序的权限,也就是说有了这个,你就有权力发布程序到App Store去了。只有一个,不能制作副本分发到多台电脑。
Development
App Development (1年):用来开发和真机调试应用程序。
Push Development (1年):用来调试Apple Push Notification
Production
In-House and Ad Hoc (3年):用来发布In-House和AdHoc的应用程序。
App Store :用来发布提交App Store的应用程序。
MDM CSR Push Production (1年):用来在发布版本中使用Apple Push Notification。 Pass Type ID Certificate
Website Push ID Certificate
(CSR) 文件:
CSR:申请一个Certificate之前,需要先申请一个 (CSR) 文件,而这个过程中实际上是生成了一对公钥和私钥,保存在你Mac的Keychain中。代码签名正是使用这种基于非对称秘钥的加密方式,用私钥进行签名,用公钥进行验证。
App ID:
App ID:App ID用于标识一个或者一组App,App ID应该是和Xcode中的Bundle ID是一致的或者匹配的。
Explicit App ID:唯一的App ID,这种App ID用于唯一标识一个应用程序,例如com.ABC.demo1,标识Bundle ID为com.ABC.demo1的程序。
Wildcard App ID:通配符App ID,用于标识一组应用程序。例如*可以表示所有应用程序,而com.ABC.*可以表示以com.ABC开头的所有应用程序。
Provisioning Profile:
Provisioning Profile:一个Provisioning Profile文件包含了上述的所有内容:证书、App ID、设备。
原文地址:http://pinwei.blog.51cto.com/5452359/1744878