3

Xcode 4.4.1 を使用して Mac アプリケーション (iOS ではない)を送信しようとしたときに最近発生したコード署名の問題があります。

アプリのアーカイブを検証しようとすると、次の 2 つのエラーで検証が失敗します。

コード署名資格が無効です。アプリ バンドル署名の資格が、プロビジョニング プロファイルに含まれている資格と一致しません。プロビジョニング プロファイルによると、バンドルには許可されていないキー値が含まれています: 「com.(mycompany).(myapp)」は「MyAppBundle.app/Contents/MacOS/ MyAppExecutable」

コード署名資格が無効です。アプリケーションのバンドル署名には、Mac OS X でサポートされていないコード署名資格が含まれています。具体的には、「MyAppBundle.app/Contents/」のキー「com.apple.application-identifier」の値「com.(mycompany).(myapp)」です。 MacOS/MyAppExecutable' はサポートされていません。この値は、TEAMID で始まり、その後にドット「.」が続く文字列である必要があります。その後にバンドル識別子が続きます。

このバンドルは無効です。Apple は現在、このバージョンの OS で作成されたアプリケーションを受け付けていません。

私は次のことを試しましたが、どれもうまくいきませんでした:

  • コード署名証明書の再ダウンロードと再生成。
  • コード署名パラメーターでチーム ID を指定: -i "(TEAMID).com.(mycompany).(myapp)" --entitlements "(MyAppEntitlementFile).entitlements"

実際の Xcode スクリーンショット

誰でも助けることができますか?前もって感謝します。

4

1 に答える 1

2

Xcode のプロパティ リスト エディター (ターゲットのタブにある見栄えの良い GUI ではありませんSummary) を使用して資格ファイルを編集し、名前付きのキーcom.apple.application-identifierとその値を削除して、これを修正しました。

そもそもキーと値のペアがどうやってそこにたどり着いたのかはわかりません。なぜなら、私が自分でキーと値のペアを入れたのではないという確信があるからです。このプロジェクトは元々、サンドボックス化を行わずに Snow Leopard 用にコーディングされており、多くの Xcode バージョンを経ています。おそらく、古いバージョンの Xcode がそこに配置され、新しいバージョンと競合した可能性があります。

于 2012-09-02T07:18:47.990 に答える