我在一家为各种企业进行第三方iOS开发的公司工作。我的任务是研究为这些企业构建和部署代码的更好方法。根据Apple TOS,他们不能使用我们的企业证书签署的申请(他们不是“内部”)。代码需要与他们(我们的客户)的企业证书签名。以下是我见过的一些可能的解决方案 -
1)将代码发送到客户端,让客户端构建它。 这是禁止行为。
2)使用应用程序代码创建一个库,并将.so文件和标题发送到客户端进行构建。 我们目前正在这样做,但正在考虑让客户/我们更轻松。
3)让客户端向我们发送他们的证书,mobileprovision和.p12文件,然后我们使用他们的证书构建应用程序。 这可能有效,但可能成为管理层的噩梦。
我们想出了一个混合了这些想法的想法。这个想法涉及建立一个客户门户,客户可以将其文件(cert,p12,provision)上传到我们的Mac服务器,Mac将自动构建他们的应用程序,并进行正确签名。然而,我遇到的问题是我似乎无法找到如何自动安装证书和条款。
所以说,有没有人知道从命令行安装CodeSign证书(带有.p12文件)和移动配置文件的方法?安装后还有一种从命令行中删除项目的方法吗?
非常感谢任何帮助,想法和/或输入。谢谢!
答案 0 :(得分:4)
您应该能够使用security
(http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/security.1.html)命令管理钥匙串中的这些资源。我用来控制命令行构建的脚本可能是一个有用的参考:https://gist.github.com/949831
答案 1 :(得分:2)
不可否认,我一次最多只有2个外部客户端加上我自己的东西,所以它通常只是默认情况下的噩梦,但是如果你不得不手动做的话会有多糟糕一切除了配置文件?根据我的经验,一旦客户证书被添加,即使是新项目(来自同一客户),我再也没有真正搞过它们。
您只需将文件复制到〜/ Library / MobileDevice / Provisioning Profiles,然后在不再需要时删除它们即可处理配置文件。听起来您已经设置好自动执行该过程。
如果您当前正在通过“将它们放到xcode上”来安装配置文件,我建议您通过复制到文件夹来执行此操作,因为这样会保留文件名,因此您实际上可以告诉您已经安装了什么只需查看文件夹即可。