22

コード署名手順がどのように機能するかを理解しようとしています。私の目標は、会社 A のエンタープライズ証明書で署名された .ipa ファイルを取得し、バンドル ID を変更してから、会社 B の App Store配布証明書で再度署名し、App Store に公開することです。

まず第一に、これは可能ですか?私はここで、「...このツールを使用して、App Store 配布証明書を使用してアプリを再署名することはできない (そしてすべきではない) と確信しています」と読みました。誰かがそれについて詳しく説明できますか?

thisthisthisなどの多くのスクリプトを試しましたが、微調整した後、Application Loader を使用してレビューのためにアプリを送信しようとすると、すべて同じ問題が発生するようです。私が得ているエラーは次のとおりです。

  • アプリケーションはコードサインの検証に失敗しました。署名が無効であったか、許可されていない権限が含まれているか、iPhone 配布証明書で署名されていませんでした。
  • /var/folders/67/(large_number)/new.ipa/Payload/original.app/original から資格を抽出できません

誰でもそれを手伝ってもらえますか?証明書などをエクスポートする方法を知っていることに注意してください-しかし、ここでは、会社Aの.ipaファイルを提供した場合、会社Bが自分でそれを行うことができるかどうかを調べています。必要に応じて、私が行っていることをより詳細に説明できます。質問してください。

ありがとう!

編集:私はすでにこのクローズド SO の質問を認識していますが、私の質問はより具体的であり、私が望むことを達成するための一般的な方法を求めていないため、新しい質問を投稿しました-説明されたシナリオが可能です。

4

3 に答える 3

6

可能なはずの新しいアプリケーションを辞任するには、開発ポータルですべての新しいディストリビューション プロファイルを作成する必要があります (ここまで来ていると仮定します)。アプリから新しいプロファイルまで、すべてが一致する必要があります。アプリ ID はおそらく最も重要なものです。新しいものを作成するときは、一致するようにプロジェクトで設定する必要があります。通常は com.companyname.appname.optional です。この新しいアプリ ID は、ビルド設定でバンドル ID とペアにする必要があります。それらを一致させたら、新しいディストリビューション/プロビジョニング プロファイルとペアリングできるはずです。

FWIW、これらのプロファイルを交換することは、すべての iOS 開発で最も複雑なプロセスでなければなりません。いじくり回しや試行錯誤が必要かもしれませんが、できると確信しています。幸運を。

于 2012-12-19T14:29:07.133 に答える
2

私は以前にこれを行うのに苦労しました。新しいプロファイルの設定と Xcode での再構築は機能しているように見えますが、バンドル ID を含む plist を編集した後、コマンド ラインを使用して既存のアプリを再署名するだけで、私は悲しくなりました。ビルド時にアプリに配置されるのは埋め込みプロファイルだと思いますが、正直なところ、よくわかりません。

エンタイトルメントに問題があったようです。これらのいくつかは開発プロファイル (プッシュ通知、IAP、およびおそらく iCloud) で設定されており、そこで正しくなければならないことに注意してください。

2 番目のヒントは、Xcode がプロジェクト (どこかに) で dev プロファイルをキャッシュすることです。そのため、Library フォルダー内のモバイル プロファイル フォルダーから 1 つを削除しても、Xcode プロジェクトのターゲット設定で実際に変更する必要があります。まだ古いもの (grrr) を使用しています。

于 2012-12-25T07:13:56.123 に答える
0

AirSignアプリケーション (最初の質問を投稿したときは利用できませんでした) を使用することで、多くの時間を節約できました。

于 2015-02-22T07:37:28.923 に答える