IOS Tips

开发者账号分类

个人类(Individual 99刀一年)

组织类(Company公司 99刀一年;Enterprise企业 299刀一年)

个人开发者账号: 

在上架App Store后,开发者直接显示申请人姓名。协作人数1人,个人使用。每一种Apple产品,均有各类设备各100台测试权限。适合简单的发布一个应用,适合个人用户。

公司开发者账号: 

在上架App Store后,App开发者显示公司。每一种Apple产品,均有各类设备各100台测试权限。希望以公司品牌来发布应用,适合公司用户。多人协作。可以进行账号管理,可邀请多个Apple ID分不同的管理级别的权限:

(1)Agent是团队代理人,只能有一个,Agent账号具有所有权限。

(2)Admin:是管理员。具有管理Members的权限和上传发布app等权限。

(3)Member:是普通开发者。只有创建测试证书(dev)的权限,没有创建发布证书(dis)的权限。   

企业账号: 

不能用来上传app store。用这种证书打出来的包能在任何iOS设备上运行,不需要苹果的验证、签名。希望不审核,直接扫码下载应用。使用企业证书发布app有效期为12个月,假如过了有效期app则无法运行。

 

App ID(bundle identifier)

App ID即Product ID,用于标识一个或者一组App。

App ID应该和Xcode中的Bundle Identifier是一致(Explicit)的或匹配(Wildcard)的。

Explicit App ID:唯一的App ID,用于唯一标识一个应用程序。例如“com.apple.garageband”这个App ID,用于标识Bundle Identifier为“com.apple.garageband”的App。

Wildcard App ID:含有通配符的App ID,用于标识一组应用程序。例如“*”表示所有应用程序;而“com.apple.*”可以表示Bundle Identifier以“com.apple.”开头(苹果公司)的所有应用程序。
 

设备(Device)

Device就是运行iOS系统用于开发调试App的设备。每台Apple设备使用UDID来唯一标识

方法一:登陆苹果开发者网站,在网页上加入了新的DevicesID(即设备的UDID),重新生成一个包含此设备ID的证书描述文件,安装到使用的机器上,从而可以在xcode工程中进行选择该证书描述文件。

方法二:当在Xcode上,加入了开发者账户以后,连入一个新的设备可以自动点击注册该设备,会自动更新本机的证书描述文件了。

 

证书

证书是用来证明iOS App内容(executable code)的合法性和完整性的数字证书。对于想安装到真机或发布到AppStore的应用程序(App),只有经过签名验证(Signature Validated)才能确保来源可信,并且保证App内容是完整、未经篡改的。

证书的含义是对电脑设备开发资格的认证,其中包含公开密钥+证书名称+数字签名。

无论是什么开发者账号类型,都有以下这两种证书类型。

开发证书(Development) :用于开发阶段真机调试等。不仅在配置该电脑的证书可以使用,还可以生成副本安装到多台电脑上。(通过KeyChain)

发布证书(Production):用于提交到App store,或者是ad-hoc distribution):只有配置该证书的电脑才可以使用。导出副本也没用。

 

证书申请流程

1.创建证书申请文件(csr):钥匙串-证书助理-从证书颁发机构请求证书。

2.上传csr:登陆开发者网站,申请证书,选择csr上传。

3.完成,下载证书到本机使用。此mac机也就是配置该证书的电脑。

教程:https://www.jianshu.com/p/01224fc523d4

教程:https://ask.dcloud.net.cn/article/152

 

证书P12文件

P12证书

 

证书描述文件

Provisioning Profile文件包含了上述的所有内容:证书、App ID和设备。

Provisioning Profile决定Xcode用哪个证书(公钥)/私钥组合(Key Pair/Signing Identity)来签署应用程序(Signing Product),将在应用程序打包时嵌入到.ipa包里。安装应用程序时,Provisioning Profile文件被拷贝到iOS设备中,运行该iOS App的设备也通过它来认证安装的程序。
Provisioning Profile也分为Development和Distribution两类,有效期同Certificate一样。

下图为开发版的证书描述文件内容

 

自动管理证书

Automatically manage signing 选择了一个开发者账号以后,会自动创建一个开发证书(会同步到网上),以及只在本机自动创建两个描述文件:

一个是 iOS Team Provisioning Profile:*

一个是 iOS Team Provisioning Profile: 已有的appID

这两个描述文件只有AppID是不同的,一个是*,一个是已有的appID,而证书都是该开发者账号的所有development证书,设备ID都是所有的设置ID。

教程:https://www.jianshu.com/p/035ae1f1e563

 

总结

 

posted @ 2019-08-27 10:14  何文西  阅读(91)  评论(0编辑  收藏