7

我很抱歉发布了这么多问题,但是让这个工作非常痛苦,即使 Testflight 让它变得更容易

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

我认为这与我的 Apple 推送通知有关。我在所有设置中使用我的分发配置文件。我的应用程序已配置为开发和生产。

此错误的原因可能是什么?

附带说明一下,我一整天都在研究这个问题,我一个接一个地陷入困境,尤其是涉及静态库和 xcode4。我真的不擅长这个,还是苹果真的让它这么难?

4

4 回答 4

4

我认为这是一个 xcode 错误。这是我解决它的方法,也许它对将来的某些用户有用。包括我的问题解决步骤供参考:

  1. 我将授权文件更改为 aps-environment = production。不行,两个文件之间仍然不同。
  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 旁边的运行菜单中,点击 -> Edit Scheme
  • 单击左侧抽屉中的“存档”按钮
  • 查看“构建配置”

对于 Testflight,我复制了我的发布构建配置,并将其重命名为“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 。
  2. 我用development钥匙代替production<key>aps-environment</key>零件。
于 2014-07-29T15:08:22.920 回答