11

私はiOSアプリのコード署名と送信を数え切れないほど行ってきました。今回はMacAppStoreで感動しました。同じエラーメッセージが繰り返し表示されます。

「私の名前」は有効なIDです。ただし、関連付けられたパッケージIDはありません。

スタックオーバーフローに関するこの2つのトピックを認識しました: mas-code-signing-identity-private-keymac-app-package-identity-not-installed

そこには何も私にとって問題を解決しませんでした。

それが私が(最も確実に)このメッセージを再現する方法です:

  1. 「MacDeveloper」または「サードパーティのMacDeveloper」で始まるすべての証明書と秘密鍵をクリーンアップします。もちろん、期限切れのものも。
  2. Mac認定ポータル内のすべてのものを取り消す。
  3. App-IDを作成します(1回だけ作成しました)
  4. Mac開発用の新しい証明書を作成します。これはiOS開発のデバッグ証明書に匹敵すると思います。
  5. Macアプリの新しい証明書を作成します。繰り返しになりますが、これはiOS開発の配布証明書に似たものである可能性があるとしか思えません。
  6. 完了の理由で、システムの新しい証明書/プロファイルを作成します。
  7. 本番プロビジョニングプロファイルを作成します。これはiOSの配布プロファイルと同等かもしれないと私は思います。
  8. 次に、すべての証明書の混乱をダウンロードして、正しくインストールします。キーチェーンに入る人もいれば、PreferencesとXCodeに入る人もいます。
  9. XCodeまたはMac全体を再起動することを確認するために(とにかくイライラする結果を変更しません)。
  10. 「本番」は「配布」と同等であると想定しているため、プロジェクトのビルド設定に移動し、本番プロビジョニングプロファイルを選択します。ターゲットビルド設定でコード署名IDを変更することもできません。Appleはそのドキュメントで、App Storeに提出するには、プロジェクトのビルド設定で署名IDを変更する必要があると主張しています。
  11. アーカイブビルドを実行します。
  12. オーガナイザーでアーカイブを選択し、[検証]をクリックします。
  13. 次のエラーメッセージが表示されます。

「私の名前」は有効なIDです。ただし、関連付けられたパッケージIDはありません。

「パッケージID」という用語が実際に何を意味するのかについてのポインタが見つかりません。私にとって最も苛立たしいのは、コード署名と提出プロセスに関するAppleのドキュメントでこの用語が混乱していることは、私にはあまり明確で正確ではないように見えることです。少なくとも、iOSアプリの提出に関する同じプロセスのドキュメント(完全に異なる用語を使用している)ほど明確で正確ではありません。

おそらく私は何か間違ったことを理解しましたか?事前にヘルプやポインタをありがとう。

4

4 に答える 4

21

OK、私は同様の問題に遭遇した人々のためのいくつかの重要な指針(Appleのドキュメントに追加)を持っています。

  1. エラーメッセージは完全に誤解を招くものです。
  2. Appleのドキュメントのすべての単語をあまり真剣に受け止めないでください。

この問題を解決するために、2つのポイントが最も重要でした。

  1. 他のすべてのプロファイルに加えて、Mac App Storeに送信するには2つの証明書が必要です(iOS App Storeの送信と同じプロセスとは異なります)。両方とも、対応する公開鍵と秘密鍵のペアと一緒にインストールする必要があります。
    1. Macアプリ
    2. Macインストーラー
  2. コード署名は、プロジェクトではなく、ビルドターゲットに設定する必要があります。どこにあるのかは覚えていませんが、これはAppleのドキュメントの1つで間違った側面で説明されていました。

最終的に、私の提出はこれらの2つのポイントを維持することによって機能しました。

于 2012-10-04T10:10:16.887 に答える
3

キーチェーンとXCodeには追加の問題があります。

Xcodeが証明書を使用する場合、キーチェーンに必要な証明書は1つだけです。有効なものと同様に期限切れのものがある場合、Xcodeはしばしば操作に失敗します。

したがって、キーチェーンアクセスを使用してキーチェーンを確認し、期限切れの証明書は表示されません。まだそこにあります!キーチェーンアクセスのデフォルト設定では、期限切れの証明書が非表示になります。[表示]メニューに移動し、[期限切れの証明書の表示]を選択します。期限切れのものをすべて削除します。それらは何の役にも立ちません。

キーチェーンアクセスを終了し、Xcodeを再起動します。Xcodeは、証明書を追加/削除するときに再起動が必要になることがよくあります。

その時点で、アーカイブ検証プロセスは私のために働いた。

于 2013-09-06T19:08:28.037 に答える
2

これは私にとってもそうだった。

明確にしておきたいのですが、MacAppDistributionとMacInstallerDistributionの両方の証明書が絶対に必要です。上記の説明をしてくれたJacqueに感謝します。次のようになります。ここに画像の説明を入力してください

于 2013-05-22T18:57:18.947 に答える
0

はい、問題はMacインストーラー配布証明書です。

すべてを修正してすべての問題を解決する最も簡単な方法は、Xcode-> Window-> Organizer-> Devicesに移動し、右下隅にある[Refresh]を押して、アカウントでログインします...xcodeがすべてを生成してダウンロードします必要な証明書とプロビジョニングプロファイル。

于 2013-05-29T20:39:58.533 に答える