web-dev-qa-db-ja.com

Xcode「CodeSignエラー:コード署名が必要です」

私はiOS 4.0でiPhoneプロジェクトに取り組んできました。更新されたiOSで作業できるように、Xcode 3.2.4とiOS SDK 4.1をダウンロードしました。更新されたXcodeでプロジェクトを開くと、ターゲットに「Base SDK Missing」と表示されていることがわかりました。 here の指示に従って修正しました。

IOSの任意のバージョンをターゲットにビルドしようとすると、次のエラーが表示されます(エラーテキストで対応するバージョンが参照されます)。

CodeSignエラー:SDK「デバイス-iOS 4.1」の製品タイプ「アプリケーション」にコード署名が必要です

Xcodeによって作成されたチームプロビジョニングプロファイルがインストールされており、そのプロビジョニングプロファイルには証明書があり、選択されたコード署名エンティティは「iPhone開発者:Aaron Milam」です。

ここで何が欠けているのかについてのアイデアはありますか?

42
Aaron

Xcodeが証明書を認識しない場合に発生します。

それを解決するのはお尻の痛みです、あなたを助ける多くの可能性があります。

ただし、最初に試すべきことは、「ウィンドウ」タブ=>オーガナイザー、つまりデバイスにあるプロビジョニングを削除することです。次に、それらを再度追加します(Apple Webサイト)で再度ダウンロードします。再度コンパイルします。

ところで、プロジェクト情報ウィンドウで「コード署名ID」を確認しましたか?

幸運を。

41
Vinzius

「Debug/Distribution/Release」ではなく、「任意のiOS SDK」行にコードをコーディングしてください。

これが私がやったことです。

コード署名ID->コード署名しない
*デバッグ->符号をコーディングしない
**任意のiOS SDK-> [開発者プロフィール]
*配布->符号をコーディングしない
** iOS SDK-> [私のAppStoreプロファイル]
*リリース->符号をコーディングしない
** iOS SDK-> [AdHocプロファイル]

プロファイルを1レベル上の(デバッグ/配布/リリースで)配置すると、何らかの理由で機能しません(バグ?)。

それが私たちの一部を助けることを願っています!

20
Gryzorz
  • スタックオーバーフローが大好きです。

  • Xcodeのバージョンが異なる場合があり、同じMac Proで2つのxcodeバージョンを使用している可能性があるため、特定の時間が長すぎることは十分ではないことに気付きました。したがって、ここでは、すべてのXcodeバージョンで動作することを願う一般的な指示を提供したいと思います。

  • 私の2つのバージョンはxcode 3.2.6と4.0です。あなたは(設定のためにグーグルでさえ)あなたのxcode BUILD SETTINGSとそのコード署名をコード署名IDENTITYを持っているコード署名の下で見つける必要があります(これはあなたにIDのリストを提供します https://developer.Apple.com/ios/manage/overview/index.action -Apple "を使用してiOS上でアプリケーションを取得する開発プロビジョニングアシスタント」)識別子のリストがある場合は、有効な識別子を選択してXcodeを再度実行するだけで機能します。

  • 3.2.6固有:scodeウィンドウで-[Project]-> [Project settings]-> [Build(tab)]->リストが長いためスクロールダウンがあります。

  • 4.0固有:Xcodeウィンドウで、一番左の列のプロジェクトファイルをクリックしてから、ターゲットアプリの次の列をクリックして、コード署名を見つけてIDENTIFIERを割り当てます。それはあなたのために働くはずです。

できた!

7
dung

すべての証明書が適切にインストールされていることを考慮すると、最も一般的な原因は、プロジェクト設定とともにアクティブターゲット設定でコード署名IDを指定していないことです。これらをiPhone Developerに変更します(Xcodeは、App IDの一致に応じて適切なプロファイルを選択します)。

  • Xcodeで、シミュレーターからデバイス(Xcodeウィンドウの上部にあるドロップダウン内)に変更し、アプリケーション展開のターゲットがデバイスになるようにします。

  • ワイルドカードIDであるデフォルトIDは、コード署名で関連付けられている場合、catch all iDに似ています(ビルドにサンプルファイルを使用している場合、com.coolapps.appfileのインポートはほとんどありません。チームプロビジョニングプロファイル」を使用すると、ビルドが失敗します。

  • Xcode->プロジェクト->プロジェクト設定の編集->ビルド(タブ)->コード署名アイデンティティ(ヘッダー)->任意のiOS(任意のiOSシミュレータからの変更)->(値として「iPhone Developer」を選択すると、デフォルトでワイルドカード開発プロビジョニングプロファイル(チームプロビジョニングプロファイル:*)

また(非常に重要)

  • Xcode-> Project-> Edit Active Target-> Build(tab)-> Code Signing Identity(header)-> Any iOS(Any iOS Simulatorから変更)->(値として「iPhone Developer」を選択すると、デフォルトでワイルドカード開発プロビジョニングプロファイル(チームプロビジョニングプロファイル:*)

初心者向けの完全な手順: http://codevelle.wordpress.com/2010/12/21/moving-from-ios-simulator-to-the-ios-device-smoothly-without-code-sign -error /

6
SheshPai

プロビジョニングプロファイルが正しく作成されていることを確認します。作成した場合は、キーチェーンアクセスで公開キー、秘密キー、および証明書が必要です。これらがすべて揃っているか確認してください。

XCode 3.2.4には自動デバイスプロビジョニングが付属しているため、開発者アカウントにサインインするだけで、有効なプロファイルがすべてダウンロードされます。

キーチェーンとダウンロードしたプロファイルに必要なものがすべて揃っている場合... iPhoneデベロッパーを選択する場合:Aaron Milam '。ビルド設定で..ビルドを行いたい構成(左上でTarget-> Build)を選択したことを確認してください。または、すべての構成を実行して、使用可能なすべての構成、つまりデバッグ、リリースなどを変更できます。

3
kthorat

Xcodeへの回答を要約したフォームは、「コード署名」エラーで失敗します

project.pbxprojファイルは、2つのCODE_SIGN_IDENTITY行を挿入できます。通常、これらのいずれかを削除すると問題が修正されます。

この問題の診断に役立つ簡単なスクリプトを作成しました: https://Gist.github.com/4339226

完全な答えは here にあります。

2
rjstelling

上記のすべての答えと、Xcode 4.6内から考えられる他のすべてを試した後、次の手順でこれを修正しました。

  1. Xcodeを閉じる
  2. .xcodeprojファイルを右クリック->パッケージの内容を表示
  3. テキストエディターでproject.xcodeprojを編集する
  4. 「CODE_SIGN_IDENTITY」を検索します-次のような行のペアがあります。
 CODE_SIGN_IDENTITY = "iPhone Developer: Joe Smith (555NN555)";
 "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "iPhone Developer: Joe Smith (555NN555)";

そのような値を持つ2つのターゲットと、

 CODE_SIGN_IDENTITY = "";
 "CODE_SIGN_IDENTY[sdk=iphoneos*]" = "";

後者のペアが空であるすべてのケースで、前者の行のペアを後者の行のペアにコピーしました。

その後、Xcodeを再起動しましたが、今では正常に動作します。

2
Rayfleck
  1. Project」セクションと「Targets」セクションの両方に「Code Signing」を入力します
  2. Debug」と「Release」の両方で「Code Signing Identity」の有効なエントリを選択します
  3. デバッグ」を選択開発者証明書
  4. Release」の下で、Distributor証明書を選択します

これらの4つの手順に従うことで、常に問題が解決します。

2
Tibidabo

私の場合、Keychain Accessからlogin-keychainをロックおよびロック解除すると、トリックが行われました enter image description here

2
Awais Nasir

別の可能性-アーカイブ用にビルドするときは、スキーム内のアーカイブの選択がリリースではなく配布用に設定されていることを確認してください。

[製品]-> [スキームの編集]に移動します。これにより、新しいダイアログが表示されます。

左側の[アーカイブ]を選択します。ビルド構成がディストリビューションであることを確認してください。

1
Jim Schrempp

すでにここで述べたように、アプリケーションにコード署名したくない場合は、CODE_SIGNING_REQUIREDからNOへ。プロジェクト/ファイルを変更せずに実行する方法は次のとおりです。

ファイルの作成 NoCodeSign.xcconfig

CODE_SIGNING_REQUIRED = NO

セットする XCODE_XCCONFIG_FILEこのファイルへのパスへの環境変数:

export XCODE_CXCONFIG_FILE=/path/to/NoCodeSign.xcconfig

これで、コード署名なしでアプリケーションを構築できます。

1
user2288008

私はXcode 4.3.2を使用していますが、私の問題は、同じ名前の別のフォルダ内のフォルダ、たとえばmyFolder/myFolder /です。

解決策は、2番目のフォルダーの名前(myFolder/_myFolderなど)を変更することで、問題は解決しました。

これが何らかの助けになることを願っています。

0
marcos1490

ファイル/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/SDKSettings.plist

cODE_SIGNING_REQUIREDを変更するYES

CODE_SIGNING_REQUIRED NO

Xcodeを再起動する

0
Jim Huang

テスト対象のiPhoneのファームウェアバージョンを更新しましたか?

0
gnuchu

Macの日付と時刻が間違っている可能性があります。修正してください。

0
nminhtai