Yur*_*ury 4 iphone xcode code-signing ios
据我所知,有4种方法可以在IO上分发应用程序:
我理解发展的分配方式是如何运作的.您需要向Apple提交证书申请,并为您颁发证书.然后使用此证书对您的应用程序进行签名.
但是,目前还不清楚Ad Hoc,Entreprise和App Store证书的工作原理.特别是:
我的直觉是Apple作为证书颁发机构工作,但是使用不同的根证书签署所有这些类型的证书,即开发人员请求是使用Developer Apple根证书签署的,而Enterprise是使用Enterprise Apple Root证书签署的.然后,在设备上安装期间,检查根证书的类型并强制执行相应的决定.我对吗?
答案在于配置配置文件而不是证书或其权限.
没有Ad Hoc证书这样的东西.只有分发证书和开发证书.对于企业帐户也是如此,其证书完全相同(除了出处类型的帐户).所以Ad Hoc,App Store和Enterprise都是分发证书.您的所有证书都由相同的权限签署:Apple全球开发者关系证书颁发机构,因此他们不能拥有不同的根CA.
不同之处在于配置文件本身,这些只是Apple签署的plists.iDevices信任WWDR证书链的某些部分(根CA?),如果签名检出,则解释配置文件,并决定是否可以安装或运行给定的应用程序.
配置文件说明谁可以运行什么以及在哪些设备上运行.它们由Apple签署,因此设备可以验证他们所说的内容.
我可以看到的配置文件类型之间的差异是:
企业简介有
<key>ProvisionsAllDevices</key>
<true/>
Run Code Online (Sandbox Code Playgroud)
特设有
<key>ProvisionedDevices</key>
<array>
UDIDs! You do, in fact, need to specify them for Ad Hoc!
</array>
Run Code Online (Sandbox Code Playgroud)
App Store配置文件似乎没有特殊的配置信息.事实上,我不确定它们是否真的安装在设备上.
该命令security cms -D -i your.mobileprovision对于探索配置文件很有用.