Xコード:iPhoneアプリのコードデザインエラー
-
03-07-2019 - |
質問
Xcode で新しい iPhone アプリをビルドすると、次のエラーが発生します。
共同設計エラー:コード署名ID「iPhone開発者」は、キーチェーンのコード署名証明書と一致しません。キーチェーンに追加したら、ファイルをタッチするか、プロジェクトをクリーニングして続行します。
修正は何ですか?
解決
修正は非常に簡単です。 [ビルド結果]ウィンドウ(おそらく、プロジェクトウィンドウの右下隅にあるエラーアイコンをクリックすることでアクセスできます)で、プルダウンメニューを‘ Device-iPhone xxx’から変更します。 ‘シミュレーター-iPhone xxx’へ。
(source: kickasslabs.com )
他のヒント
実際の電話でテストするには、99ドルの開発者プログラムに参加する必要があります。 Appleは、プログラムに受け入れられたらコードに署名する方法についての情報を持っているはずです。
プロジェクトレベルではなくターゲットでコード署名IDビルド設定を誤って変更すると、このエラーが発生しました。プロジェクトレベルで正しい情報が入力されていることを確認します(ターゲットではなく、プロジェクトに関する情報を取得します)。ターゲットビルド設定を変更した場合は、そこから値を削除してください。ターゲットはプロジェクトの設定を継承します。
「すべてクリーン」を実行してから、xcodeを終了し、ビルドフォルダーからすべてを削除して、別のビルドを実行します。 (これは多くのコード署名の問題を解決するように思われるXcodeブードゥー教のトリックです。)
コード署名の問題を解決しました。なんて悪夢だ! 2日間で8時間以上のフラストレーション。新しいアプリ、新しいアプリ名、新しい証明書、プロビジョニングプロファイルの削除などを試しました。基本的に、2つの「iPhoneディストリビューション」キーチェーン内の証明書が原因で、すべてのコード署名が失敗します。しかし、1つは隠されていました!表示される証明書は、ログインキーチェーンにありました。目に見えない証明書は私のシステムキーチェーンにありました。警告、どちらか一方のキーチェーンに証明書を追加しますが、両方には追加しません!システムキーチェーンから証明書を削除すると、ゴースト証明書になりました。システムキーチェーン" Keychain Access"には表示されなくなりました。ツールですが、実際のシステムキーチェーンファイルには存在していたため、事実上削除されていませんでした。 Distributionという単語のキーチェーンファイルをgreppedしました。私の解決策は、コード配布を修正したキーチェーンファイルからiPhone Distributionを含む行を削除することでした。その結果、システムキーチェーンが壊れています。ただし、アプリに再度署名することはできます\ m /
これは面白そうに聞こえるかもしれませんが、解決策をどこでも探しました。最終的に、左上のXcodeで、デバイスとバージョンを選択するドロップダウンに「デバッグ」があることがわかりました。リリースの代わりにドロップダウンで選択されます。リリースを選択すると、問題は修正されました。
この状況は、他の人からXcodeプロジェクトを受け取ったときに発生します。
この問題を解決するために私がやったことです。
- キーチェーンアクセスでキーを登録します。 iOSプロビジョニングでキーをダウンロードできます ポータル。 (アプリケーション->ユーティリティ->キーチェーンアクセス)
- アプリのプロビジョニングファイルをインストールします。
- プロジェクト構成でiPhone開発者を変更します。 (ターゲット情報->ビルドタップ->コード署名->コード署名IDおよびiOS)
私も同じ問題を抱えていました。ここで修正を見つけました:
Keychain Access.app では、開発者証明書が「この証明書は不明な機関によって署名されました」と表示されます。その理由は、ADC 中間証明書 ([証明書] タブの [プロビジョニング プログラム] からダウンロードできます) を持っていなかったためです。これをインストールすると、開発者証明書がキーチェーンに正しく表示され、コードを恐ろしい電話にデプロイできるようになりました。
ブードゥーは必要ありません。一部のアプリはデフォルトのキーチェーンを変更し、XcodeはiPhone開発者キーの検索を停止することがあります。解決策は簡単です(私にとってはうまくいきました):
- リストアイテムキーチェーンアクセスアプリの起動
- 開発キーを保存したキーチェーンをCtrlキーを押しながらクリックし、「キーチェーンをデフォルトに設定」を選択します
- 優れたiPhoneアプリの開発をお楽しみください。
上記のいずれも役に立たなかったとき、電子署名証明書が付いたカードリーダーを誤って取り外したため、エラーなしでアプリがビルドされます。そのような証明書がある場合は、しばらくの間プラグを抜いてみてください。
これで問題が解決しました:
- Project Navigatorのメインプロジェクトフォルダーをクリックします
- 右側のウィンドウで、ターゲットを選択します
- 「コード署名」の下で、コード署名IDを自分のものに変更します
- アクティブなスキーム(左上の[実行]ボタン以外)をiPhone / iPadに設定します
これが誰かの助けになることを願っています!