7

と一致しない、私は非常に多くの質問を投稿するために申し訳ありませんが、仕事にこれを得ることがTestflightはそれがはるかに容易になりさえカントー、信じられないほどの痛みを伴うされています無効IPAエラー:あなたのembedded.mobileprovisionとあなたのバイナリでAPS環境が

Invalid IPA error: The APS environment in your embedded.mobileprovision and your binary don't match 

これは私のApple Push Notificationsと関係があると考えられます。私はすべての自分の設定で自分の配布プロファイルを使用しています。私のアプリは開発と生産の両方に設定されています。

このエラーの原因は何ですか?

側の注意点として、私は一日のためにこれに取り組んできた、と私はESP静的ライブラリとxcode4を含む、他の後に一つのことに動けなくなります。私はこれで本当に悪いですか?それとも、Appleが本当に難しいですか?

答えて

4

私はそれがxcodeのバグだと思う。ここで私はそれをどのように解決したのでしょうか、それは将来的にはいくつかのユーザにとって役に立つかもしれません。私の問題解決のための参照を含む:

  1. 私はaps-environment = productionにエンタイトルメントファイルを変更しました。いいえ、2つのファイルの間でまだ異なります。
  2. 私はちょうど私が再びそれを構築し、あなたがもう一度行くん
  3. を示唆したようembedded.mobとバイナリをチェックアウトし
  4. 確認するために、配布プロファイルに(デバッグ/しない)私のすべての設定を変更しました。
  5. 私はすべてのプロファイルをダウンロードしました。必要なディストリビューションビルドのみをダウンロードしました
  6. ここは興味深い時です - 私はデバッグ時にビルドできませんでしたが、私が特別なアーカイブモードになっていても見つからなかった。確かにそれは
  7. (私はすでに私のすべての設定を変更し、すべての私の他のプロファイルを削除したことを考えると)開発者モードへの参照が、私はそれをアーカイブしようとしていた場合でも、そこに残っていることを意味だから私はproject.pbxprojを掘って、見つかりましたアドホックビルドで自分の開発プロファイルにアクセスしようとしていた問題のある行。私はそれを手作業で変更し、ビンゴは期待どおりに働いた

私はこれがなぜ起こるのか驚いています。これはxcode 4のバグのようです。通常、これは私のせいで、これらのことが起こったときですが、これは十分ではないようです(加えて、xcode 4にはいくつかの点で大きな問題がありました)。

は素晴らしいTestflightチームからの助けを借りて解決します!あなたがアーカイブしているターゲットが別のターゲット、ターゲットの「アーカイブ」スキームは、ビルド設定の正しいビルド構成に基づいており、二重チェックに基づいていた場合は特にまた

http://support.testflightapp.com/discussions/tools/17-invalid-ipa-the-aps-environment-in-your-embeddedmobileprovision-and-your-binary-dont-match

+0

ありがとう! pbxprojのどの行が非配布プロファイルにアクセスしていましたか?私はまだtestflightを使って作業を進めることに固執しています – CVertex

+1

私もこれに問題がありました。すべてを念頭に置いたわけではありませんが、私のコード署名エンティティのすべてを(私の特別なプロビジョニングプロファイルに結びついた)iphone配布プロファイルを使用するように変更しました。 xcode(4.2)を再起動しました。 prodコードの署名を 'do not code sign'に変更しましたが、それでも動作します。それが何であるかわからない、おそらくxcodeのバグのようだ – Taras

0

私も前にこのエラーに出くわしましたので、仕事に、このための手順に従います。

  1. アプリのプロビジョニング・プロファイルを作成し、それをテストする必要があり、人々のそれにデバイスを追加します。
  2. 作成したプロビジョニングプロファイルを使用してアプリケーションをビルドし、* ipaとしてエクスポートします。
  3. TestFlightにアップロードし、アプリをテストするデバイスを選択します。

多くの人が手順2を忘れています(私もそうでした)、それは動作するためには不可欠です。だからそれを試してみてください! :)

+0

ハイデビッド、ありがとう!私はそれを別の方法で解決することができましたが、あなたの助けは大いに感謝しています。これらのものは...不可解です。 –

+0

素晴らしいもの!!!! – Pripyat

2

、。

実行メニューの隣のXcode 4.2で
  • 、上のクリック - >左の引き出しの 'アーカイブ' ボタンを編集 スキーム
  • クリック
  • 設定のビルド」を見

Testflightではリリースビルド設定を複製し、ちょうどこの目的のために「Ad Hoc」に名前を変更し、Ad Hocプロビジョニングプロファイルとそれ以外に必要なものを指定します。あなたがこれを遠くに持ってきたなら、あなたはすでにそれをしていると推測しますが、後世のために、私はそれを言いたいと思いました。

0

この質問に返信すると、航空モバイルアプリをアップロード中に誰かがこれに衝突する場合があります。

app.xmlのEntitlement要素を確認してください。

<Entitlements> 
     <![CDATA[ 
      <key>application-identifier</key> 
       <string>QFY9MVY9K8.com.somethingHere.anAppName</string> 
      <key>aps-environment</key> 
       <string>development</string> 
     ]]> 
    </Entitlements> 

これが今どのように見えるかです::私はエラーを得たとき

<iPhone> 
    <InfoAdditions> 
     <![CDATA[ 
     <key>UIDeviceFamily</key> 
     <array> 
      <!-- iPhone and iPod touch devices --> 
      <string>1</string> 
      <!-- iPad devices --> 
      <string>2</string> 
     </array> 
     ]]> 
    </InfoAdditions> 

    <!-- This part below.. --> 
    <Entitlements> 
     <![CDATA[ 
     ]]> 
    </Entitlements> 

私のエンタイトルメントは、このバックのように見えた

<Entitlements> 
     <![CDATA[ 
      <key>get-task-allow</key> 
      <false/> 
     ]]> 
    </Entitlements> 

このエラーが発生した

    理由
  1. で別のIDを使用しましたプロビジョニングプロファイルのプロファイルよりもです。
  2. 部分にproductionの代わりにdevelopmentキーを使用しました。
関連する問題