安定したiPhoneアプリの継続的なビルド/統合をセットアップしようとしています。
私は持っています:
- 専用のMacMini。
- 「ビルド」という名前のユーザーアカウント
- Hudsonは、/ Users / build / Library / LaunchAgentsにplistをドロップすることにより、ビルド用のLaunchAgentとして設定します
- ハドソンとして実行されているシステム全体のLaunchDaemonとして試行しましたが、ビルドユーザーのログインキーチェーンにアクセスできませんでした。心の痛みに満ちた長い物語。
- システムは、起動時に「ビルド」に自動的にログインするように設定されているため、ハドソンは実行を開始します。
大きな問題は、コード署名とキーチェーンです。
クライアントの開発者IDに代わってコードを作成するため、いくつかの開発者IDがあり、さらに追加する予定です。
Miniを真っ暗な部屋に置き、決して見ないようにしたいのですが、開発者IDを使用して初めてビルドするときに、コードサインが開発者IDにアクセスすることを常に許可するかどうかを尋ねるGUIダイアログがポップアップ表示されます。
そうすると、そのダイアログボックスは、コードサインが許可されるようにキーチェーンアクセス制御リスト(ACL)を変更します。
これを表示するには、キーチェーンアクセスを開き、証明書を展開し、秘密鍵を選択して右クリックし、[情報を見る]を選択して、[アクセス制御]タブに切り替えます。「バージン」キーは、「常に許可する」アプリケーションリストにのみキーチェーンアクセスがあります。ダイアログボックスで使用および確認したものには、コードサインもあります。
このボックスは、Unixフォルダを非表示にする標準のFinderファイルピッカーを取得することを除いて、アプリケーションを追加する方法を提供します。/ usr / bin/codesignに移動する方法はありません。したがって、手動で追加することはできません。
誰かがこれを回避する方法を知っていますか?
「セキュリティインポート」の-Tスイッチを使用する1つの方法を知っていますが、最初にキーをインポートするときにACLを指定する必要があるため、キーチェーンGUIで追加されたキーはすべて破棄して再インポートする必要があります。あまりいいとは言えません。