4

私は数人の開発者のチーム内で iOS アプリケーションに取り組んでいます。私たちは皆、同じ開発プロビジョニング プロファイルに属する開発者証明書を持っています。デバイスでテストするために作業中のアプリをビルドするときは、使用するコード署名 ID を明示的に指定する必要があります。それ以外の場合、自動プロファイル セレクターを選択すると、アプリを HockeyApp などのサービスにアップロードするときに、コード署名の不一致エラーが発生します。実際、自動プロファイル セレクターを選択すると、作成中のアプリに固有の開発用プロビジョニング プロファイルではなく、iOS チーム プロビジョニング プロファイルが選択されるようです。

私がこのアプリケーションの唯一の開発者だったとき、ビルド設定で使用する適切なコード署名エンティティをハードコーディングすることで、この問題を修正しました。問題は、このプロジェクトの開発者が私だけではないことです。プロジェクト設定でコード署名 ID をハードコーディングする際の問題は、プロジェクトの設定に変更をコミットするたびにそれを削除する必要があることです。そうしないと、チームメイトがアプリに署名するときに、コードが署名 ID がコンピューター上に見つかりません。

そこで私がやろうとしているのは、各チーム メンバーが使用するコード署名 ID を指定する .xcconfig ファイルをセットアップすることです。このファイルはバージョン管理されないため、全員が同じチーム内の他の開発者に問題を引き起こすことなく、コード署名 ID を明示的に設定できます。

プロジェクトに .xcconfig ファイルを含めることができ、ビルド段階で処理されます。ただし、コード署名エンティティの問題を解決する .xcconfig ファイルを作成できませんでした。.xcconfig ファイルに次の行を入れようとしました。

CODE_SIGN_IDENTITY = iPhone Developer: Firstname Name (XXXXXXXXXX)

Firstname Name (XXXXXXXXXX) は、使用するコード署名 ID をビルド設定から .xcconfig ファイルにコピー/貼り付けした結果です。ビルド設定から .xcconfig ファイルにコード署名 ID をコピーして貼り付けると、すべての開発プロファイル (アプリケーションまたはバンドル ID ごとに 1 つ) のすべてのコード署名 ID が同じ結果になることに後で気付きました。

それらを区別する方法を探していましたが、機能する方法を見つけることができませんでした。この問題をどのように解決できるか考えていますか?

[sdk=iphoneos*] 修飾子も使用してみましたが、成功しませんでした。

メイン構成に加えられた変更を、正しいコード署名 ID を使用するためだけに作成される新しいビルド構成にマージする必要があると感じているため、異なるビルド構成の使用は避けたいと思います。ただし、ビルド構成が XCode 内でどのように機能するかについてはよく知らないので、それが良い解決策になると思われる場合は、遠慮なく教えてください。

ありがとうございました!

4

3 に答える 3

1

最終的に問題にならない CODE_SIGN_IDENTITY を選択する代わりに、代わりに PROVISIONING_PROFILE を指定し、Xcode をそのままにして、一致する ID で署名することができます。これは、内部ビルド システムに対して行うことです。

次のプロファイルを指定します。

PROVISIONING_PROFILE=cb65516b-ee34-4334-95d6-6fba5f2df574

ここで、長い 16 進数はプロファイルの UUID です。プロビジョニング プロファイルの中を見ると、バイナリ ファイルであるにもかかわらず、ほとんどが ASCII であることがわかります。また、次のようなセクションがあります。

UUID
395525c8-8407-4d30-abbd-b65907223eec

于 2014-12-09T15:45:00.813 に答える
0

これは機能しています(他の人もそうです)。中括弧の間の部分は含めないでください。その前の名前部分だけを含めてください。区別する必要がある場合は、ID に別の名前を付けることをお勧めします (たとえば、ID を使用している顧客またはプロジェクト名への参照を含めるなど)。

于 2014-12-09T15:30:35.550 に答える