私の会社では、CI ノードとして 1 つのビルド マシン (Mac Mini) を使用して、iOS アプリをビルドしています。現在、ミニ上でアドホックおよび App Store 構成を構築しています。最近エンタープライズ プログラムに登録したので、エンタープライズ構成の構築も開始したいと考えています。ただし、「iPhone Distribution: Widget Corporation」という名前の証明書が 2 つあるため、ビルド プロセスは失敗します。1 つは AdHoc/AppStore 用の配布証明書で、もう 1 つは Enterprise 用です (Apple は In-House と呼んでいます)。
mini のキーチェーンを変更して、1 つの証明書がログイン キーチェーンにあり、もう 1 つが "enterprise" という新しいキーチェーンにあるようにしましたが、これはビルドの開始時からエラーをシフトしただけです:
CodeSign error: Certificate identity 'iPhone Distribution: Widget Corporation' appears more than once in the keychain.
ビルドの最後まで:
iPhone Distribution: Widget Corporation: ambiguous (matches "iPhone Distribution: Widget Corporation" in /Users/hudson.admin/Library/Keychains/login.keychain and "iPhone Distribution: Widget Corporation" in /Users/hudson.admin/Library/Keychains/enterprise.keychain)
私の質問は、2 つの証明書を適切にサンドボックス化して、同じマシン上でアプリのアドホック バージョン、App Store バージョン、および社内バージョンを構築できるかどうかです。私がまだ試していない唯一の可能な解決策は、実際に証明書をソースと一緒にバンドルし、security
必要に応じて証明書を追加および削除することです。明らかに、そのソリューションはあまりきれいではなく、セキュリティ リスクをもたらします。
何か案は?