如问题CLI: Switch keychains in order to sign an xcodebuild中所述,我遇到了必须使用两个钥匙串来运行的问题xcodebuild
。我需要这个,因为我们的企业和应用商店身份被称为相同。
当我尝试建议的解决方案时,它工作正常,如果我xcodebuild
一次只运行一个。但我正在使用构建服务器(hudson 或 jenkins)并行运行多个构建。每个构建作业都应该构建应用程序的企业版和应用商店版本,因此它必须使用不同的钥匙串。当按照建议更改钥匙串列表时,这总是会影响当前用户的所有正在运行的进程。因此,不同项目的并行构建会受到影响,基本上会失败或使用错误的钥匙串。
我尝试了几种解决方法来打开一个新的安全上下文,它似乎托管了钥匙串信息:
- 我曾经
login -f ...
启动一个新的登录会话,希望它会使用一个独立的安全上下文。但是当我更改会话中的钥匙串设置时,它也会影响其他登录会话。 - 我曾经
ssh localhost ...
启动一个新的登录会话,但不幸的是结果相同。
似乎,安全上下文绑定到用户而不是专用会话。不幸的是,我无法使用 Google 找到有关这些安全上下文的任何信息。
有没有办法为具有不同钥匙串活动和解锁的专用用户运行多个进程?