开发/真机调试流程:
- 申请证书
- 加入设备
- 生成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、设备。
转载于:https://blog.51cto.com/pinwei/1744878