0

デバイス用にビルドしようとすると、次のエラーが発生します。

Code Sign error: The identity 'iPhone Distribution' doesn't match any identity in any profile

私は:

  • リリース用ではなく、開発用のビルド。
  • 3.1.2 のビルド
  • SDK 3.1.2 の実行

私は持っている:

  • 有効な証明書を取り消して再発行した
  • 明示的なアプリ名 (com.mycompany.appname) を使用して新しい Ap ID と新しい関連付けられたプロビジョニング プロファイルを作成し、バンドル ID をそれに一致させました (com.mycompany.appname)。
  • コード署名 ID として作成した特定のプロビジョニング プロファイルを選択しました。(念のため、他のすべての CSI をアンインストールしました。) 繰り返しますが、「iPhone ディストリビューション」は選択されていません。

また、この問題のために、(クリーン ビルドがあったとしても) コードのビルドを開始しないことも規定する必要があります。したがって、デバイスにインストールしようとすると、このエラーはスローされません。

この問題に関する他の StackOverflow スレッドも読みましたが、開発ではなく配布用にビルドしているようです。

どんな助けでも大歓迎です...

4

3 に答える 3

1

3.1.2 をインストールしておらず、SDK を更新していない (またはその逆) ことは確かですか? マイナー バージョン番号重要であり、不一致があるとこのエラーが発生する可能性があります。

于 2009-10-22T16:23:49.133 に答える
1

他の誰かが投稿した解決策が実際に見つからなかったので、この問題を解決するために私がしたことを以下に共有します.

私がしたことは、「.xcodeproj」のパッケージの内容を表示し、そこにある「project.pbxproj」ファイルを手動で編集することでした。

「XCBuildConfiguration」というセクションを探すと、さまざまな構成がすべて表示されるはずです。次のようなコード署名に関連するものを手動で削除しました。

CODE_SIGN_ENTITLEMENTS = dist.plist;
CODE_SIGN_IDENTITY = "iPhone Distribution: xxxx yyyy";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: xxxx yyyy";
PROVISIONING_PROFILE = "zzzzzzzzzzzzzzzzzzzzzzzz";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "zzzzzzzzzzzzzzzzzzzzzzzz";

それで、残ったのは次のとおりです。

buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                COPY_PHASE_STRIP = NO;
                GCC_DYNAMIC_NO_PIC = NO;
                GCC_OPTIMIZATION_LEVEL = 0;
                GCC_PRECOMPILE_PREFIX_HEADER = YES;
                GCC_PREFIX_HEADER = xxx_Prefix.pch;
                INFOPLIST_FILE = "Info.plist";
                PRODUCT_NAME = xxx;
            };

コード署名に関連するものがある場合は、他の構成についても削除する必要があります

于 2010-02-04T08:52:37.673 に答える