4

コードサインの問題が非常に厄介です。2 台の Mac マシン (M1、M2) と 2 つの開発者証明書 (C1、C2) があります。キーチェーンは M1 と M2 で似ていますが、コードサインで次の結果が得られました。

  • コードサイン(M1、C1) OK
  • コードサイン(M1、C2) nok
  • コードサイン(M2、C1) nok
  • コードサイン(M2、C2) OK

そのため、C1 を使用して M1 でプロジェクトを正常にビルドすると、リポジトリを M2 に転送して C1 で再度ビルドすることができません。成功するには C2 に変更する必要があります。エラー コードサインでは、「CSSM_SignData が返されました: 8001094A」というエラー メッセージが返され、その後に「不明なエラー -2070=fffff7ea」が続きます。

4

2 に答える 2

1

マシン上でアプリに署名するには、そのマシンからのみ証明書が要求されている必要があります。したがって、M2 で C1 を使用してビルドすることはできず、その逆も同様です。

残念ながら、この情報は project.pbxproj に入ります。これは重要であり、バージョン管理によって維持する必要があります。この種のマシン固有の情報をバージョン管理に入れることを避ける方法はないと思います。

ただし、署名する証明書を選択するときに「自動プロファイル セレクター」のオプションが 1 つあります。別のマシンでまだテストしていませんが、適切なマシンの適切な証明書を自動的に選択するようです。ただし、そうでない場合は、毎回証明書を手動で選択する必要があります。

私のチームがこれを行う方法は、開発者用にさまざまな Mac を用意し、すべての署名作業を 1 つの特定の Mac から行うというものです。

于 2011-04-17T10:35:15.170 に答える
0

キーチェーンから証明書を .p12 形式でエクスポートし、別のシステムにインストールできます。.cer ファイルを別のマシンにインストールすると、機能しません! それらをエクスポートして、他のシステムにインストールしてみてください。

于 2011-04-17T11:05:22.247 に答える