2012-12-19 20 views
22

コード署名手続きの仕組みを理解しようとしています。私の目標は会社Aのエンタープライズの証明書、で署名された.ipaファイルを取り、バンドルIDをに変更してからB社のApp Store配布証明書を発行し、App Storeに公開します。App Storeの配布用にiOSアプリを再署名するにはどうすればいいですか?

まず第一に、これはさえ可能ですか?私は「...私はあなたがすることはできません(とはならない)App Storeの配布証明書でアプリを辞任するこのツールを使用してかなり確信している」というhereをお読みください。誰かがそれについて詳しく説明できますか?

私はthisthisthisのような多くのスクリプトを試してみましたが、私はアプリケーションローダを使用してレビュー用にアプリを送信しようとすると、いくつかの調整後に、それらはすべて同じ問題を抱えているように見えます。私がそこに着くエラーは次のとおりです:

  • アプリケーションが失敗しました。署名は が許可されていない資格を含んでいる、またはそれはiPhone 配布証明書で署名されていなかった、無効でした。 /var/folders/67/(large_number)/new.ipa/Payload/original.app/original

から資格を抽出することができません

  • 誰がそれで私を助けることができますか?しかし、私は彼らにA社の.ipaファイルを与えればB社は、自分でそれを行うことができるようになります場合は、ここで私は探検だ - 私はなどの証明書をエクスポートすることでそれを行う方法を知っていることに注意してください。必要に応じて私がやっていることをもっと詳しく説明することができます。

    ありがとうございます!

    編集:私は既にthis closed SO questionを知っていますが、私は私の考えがより具体的であり、私が望むものを達成するための一般的な方法を求めているとは思わないので、私は新しいものを投稿しました。シナリオが可能です。

  • 答えて

    0

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

    6

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

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

    +0

    はい、私が望むものをテストするために必要なすべてのプロファイルがあります。私は、私がアプリを辞任するときにバンドルIDが変わるのを見ましたが、何かがエンタイトルメントに間違っていると思います。それについてもっと知っていますか? – phi

    +0

    資格はプロジェクト固有でプロビジョニングとは無関係です。 「要約」タブからエンタイトルメントを設定し、Xcodeで並べ替えを行うことができます。 –

    2

    私はトラブルの前にこれを行うことがありました。新しいプロファイルを設定してXcodeで再構築するのはうまくいくようですが、バンドルIDでplistを編集した後にコマンドラインを使って既存のアプリケーションを辞退するだけでは、悲しみを感じていました。私はそれが組み込まれているプロファイルのアプリケーションに配置されていると思われるが、正直なところ、私はよくわからない。

    私はあなたが資格に問題が見られた - これらのいくつかはのdevのプロファイルに設定され(、IAPをプッシュ通知、および多分iCloudの)、そこに正しいとしていていることに注意してください。

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

    関連する問題