12

私は最近、別の会社のために iPhone アプリを作成する仕事をしました。彼らのコンピュータを使用する彼らのオフィスと私のオフィスで開発時間を分割しながら、キーを生成し、iPhone Dev Center の「チーム」の一員として署名してもらいました。

私はすでに既存の Dev Center アカウントと自分の開発者証明書を持っていました。クライアント プロジェクトの証明書をインポートした後、そのアプリケーションに署名すると、「iPhone 開発者: Steve Madsen」に一致する複数の証明書が見つかったという警告が codesign から表示されますが、正しい証明書が選択され、バイナリに署名されます。

自分の開発者証明書を使用して、以前のプロジェクトの 1 つに戻ります。Codesign は、自分の証明書とクライアントに使用されている証明書の間のあいまいさを解決できないと言っています。

iPhone 開発者: Steve Madsen: 曖昧 (/Volumes/Users/steve/Library/Keychains/login.keychain の「iPhone 開発者: Steve Madsen (9E69FVL37K)」および「iPhone 開発者: Steve Madsen」に一致)

クライアント証明書は (9E69FVL37K) の証明書です。これは、クライアントのプロジェクトで codesign がどのように物事を理解できるかを推測するものです。

正しい ID を使用するように Xcode プロジェクトを構成するにはどうすればよいですか? ターゲット ビルド設定で特定のもの (自動プロファイル セレクターではない) を選択しても役に立ちません。

さらに良いことに、Apple は開発者が複数のチームのメンバーになる可能性があると予想していましたが、私のような開発者が自分の環境をセットアップする方法についてのドキュメントは見つかりませんでした。プロビジョニング プロファイルは、1 つのチームのプログラム ポータルで証明書に関連付ける必要があるため、2 つ目のキー/証明書を生成することが、これを機能させる唯一の方法のように思われました。このプロセスをスムーズに機能させる方法について、誰か良いアドバイスはありますか?

4

3 に答える 3

5

私は今晩思い切って、古い証明書を取り消して新しい証明書を生成することにしました。私の推測は正しかった: Apple は現在、すべての証明書に (hex-string) サフィックスを付けて発行している。

Xcode は、正しいことを行うのに十分スマートです。ターゲット設定で「iPhone Developer」(自動選択)を選択します。プロビジョニング プロファイルに基づいてバイナリの署名に使用する必要があるキーを決定し、(hex-string) サフィックスを含めることで、その ID を正確に使用するように codesign に指示します。

新しい iPhone 開発者は、Apple がサフィックスの追加を開始した後に最初の証明書を生成したため、この問題に遭遇することはないでしょう。

これを行う必要がある他の人へのリマインダー: 既存のすべてのプロビジョニング プロファイルも修正し、それらを再インストールする必要があります。

于 2009-11-13T02:09:53.560 に答える
0

私はこれまでに 3 つのチームで作業しており、それぞれに 1 つずつ、3 つの個別の iTunes アカウントを使用しています (つまり、3 つの個別のメール アドレス)。特にそれよりも多くのチームで作業している場合、これが最適な状況のようには思えないことはわかっています。

しかし、私は別の方法があるかどうか疑問に思っています。iTunes アカウント (iPhone デベロッパー センター ユーザー) を複数のチームに関連付けることができる場合、デベロッパー センターにサインインするとどうなるでしょうか? 複数の「iPhone Developer Program Portals」に入る複数のオプションがありますか?

于 2009-11-12T20:29:37.857 に答える
0

指摘してくれた Steve Madsen に感謝します。Apple は現在、すべての証明書に (HEXSTRING) サフィックスを付けて発行しています。これは、以前に RUPERTO DE GUZMAN の証明書を持っていた場合、PROGRAM PORTAL -> CERTIFICATES からこれを取り消す必要があることを意味します。次に、新しい証明書を作成します。新しい証明書は RUPERTO DE GUZMAN (EZxxxxxxxx) になります。

これで、コードサインがプレフィックスと混同されることはなくなりました。

前:

ルパート・デ・グズマン

ルパート・デ・グスマン (89xxxxxxx)

後:

ルパート・デ・グズマン (EZxxxxxxx)

ルパート・デ・グスマン (89xxxxxxx)

于 2010-01-07T03:44:58.270 に答える