7

非常に多くの質問を投稿して申し訳ありませんが、これを機能させるのは信じられないほど苦痛でした.Testflightでもはるかに簡単です.

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

これは私の Apple プッシュ通知に関係していると思います。すべての設定で配布プロファイルを使用しています。私のアプリは、開発用と本番用の両方に構成されています。

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

余談ですが、私は 1 日中これに取り組んできましたが、スタティック ライブラリと xcode4 が関係することで、次から次へと行き詰まってしまいました。私はこれが本当に下手なのだろうか、それとも Apple は本当にそれを難し​​くしているのだろうか?

4

4 に答える 4

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

于 2011-06-30T01:52:18.123 に答える
2

また、特にアーカイブしているターゲットが別のターゲットに基づいていた場合は、ターゲットの「アーカイブ」スキームがビルド設定の正しいビルド構成に基づいていることを再確認してください。

  • Xcode 4.2 では、実行メニューの横にある -> [スキームの編集] をクリックします。
  • 左の引き出しにある [アーカイブ] ボタンをクリックします。
  • 「ビルド構成」を見てください

Testflight では、Release Build Configuration を複製し、この目的のために「Ad Hoc」という名前に変更し、Ad Hoc プロビジョニング プロファイルとそこに必要なものをすべて指定します。ここまでたどり着いたのなら、すでにそれを行っていると思いますが、後世のために、私はそれについて言及したいと思いました.

于 2011-10-27T19:44:20.520 に答える
0

以前にもこのエラーに遭遇したので、これを機能させるには次の手順に従ってください。

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

多くの人がステップ 2 を見逃しています (私もそうでした)。試してみてください!:)

于 2011-06-29T16:36:45.597 に答える
0

エアモバイルアプリのアップロード中に誰かがこれにぶつかった場合に備えて、この質問に答えてください。

app.xml の 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>application-identifier</key>
                <string>QFY9MVY9K8.com.somethingHere.anAppName</string>
            <key>aps-environment</key>
                <string>development</string>
        ]]>
    </Entitlements>

これが今の様子です:

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

このエラーの原因は

  1. <key>application-identifier</key>プロビジョニング プロファイルのID とは異なる ID を使用しました。
  2. development部分の代わりにキーを使用productionしました<key>aps-environment</key>
于 2014-07-29T15:08:22.920 に答える