2015-11-06 310 views
-1

现在我有一个很大的问题了。我在做iOS动态编译的功能,我想用一个iOS项目,编译几个不同的ipa文件,使用Enterprise以便这些项目可以安装到手机上,我使用xcodebuild命令。但我不知道如何动态生成.mobileprovision文件。我不希望每次都从Apple开发人员中心手动生成动态修改iOS项​​目.mobileprovision

+0

我只是想做海量统一模板APP,所以想想如何配置动态.mobileprovision文件,有没有什么好的选择? – Magic

回答

0

.mobileprovision文件符合RFC 3852“加密消息语法(CMS)”。除了明文签名标识,应用程序标识符,权利,允许的测试设备UDID以及其他相关元数据之外,这些文件在Apple,证书,身份和配置文件工具生成时由Apple进行加密签名。由于只有Apple拥有保护这些文档的加密密钥,因此您将无法自行动态更改这些文件 - 您必须使用证书,身份和配置文件工具才能生成,请求,下载和安装配置文件Apple生成。

另外,证书,身份和配置工具允许你定义什么是所谓的通配符应用程序ID(例如:com.mycompany.apps.*),这将允许你使用一个供应配置文件与应用程序ID树下的应用程序:

com.mycompany.apps.myfirstapp com.mycompany.apps.yetanotherapp

既会工作,而:

com.mycompany.someotherapp

WOU ld需要不同的配置文件。使用通配符应用程序ID还会限制您允许使用的基于权利的服务类型 - 特别是在通配符配置下不允许使用推送通知,Apple Pay,应用内购买和游戏中心等内容。如果您的应用模板需要使用这些受限制的权利为基础的服务,通配符配置不是一个可行的解决方案,您将不得不退回到与证书,配置文件和身份工具交互。

+0

嗨布莱恩Musial,谢谢你的回答。我会照你说的去做,然后回复我的结果。谢谢。 – Magic

+0

嗨布莱恩Musial,我已经这样做。但是,当我定义通配符应用程序ID(例如:[com.mycompany.apps。*])时,出现问题,我无法创建内部分配供应(我有iOS开发企业计划)。我可以'不要使用Ad-Hoc,因为我不知道所有设备的uuid。我想创建内部,然后我可以存档我的iOS项目。我想使用在iPhone上运行的ipa。我该怎么做。我希望收到你的回复,非常感谢。 – Magic

+0

我刚刚使用我的企业帐户执行了相同的过程,并且能够为通配符appId生成内部供应配置文件,然后将产生的IPA部署到设备,这表明您在项目中或在设置中与AppIds不匹配证书,身份和配置文件工具。不幸的是,您的问题中的信息太少,无法为接下来要检查的内容提供更好的指导。 –