【问题标题】:"This code is for an app that is not compatible with this device."“此代码适用于与此设备不兼容的应用程序。”
【发布时间】:2011-08-04 15:01:21
【问题描述】:

我们在 Apple App Store 中有一个应用,我们似乎无法在 Verizon iPhone 上安装它(来自 App Store,而不是 Xcode)。这可能与它是 Verizon 设备这一事实无关,但这是我看到的它与我可以运行它的设备之间的主要区别。

我们正在尝试使用促销代码安装应用程序,但在点击 Redeem 时收到错误消息,如下图所示: (促销代码被屏蔽)

                                            

         错误:此代码适用于与此设备不兼容的应用。您可以在台式电脑或兼容设备上兑换。

错误设备是运行 iOS 4.2.8 的 iPhone 4 (Verizon)。此错误是在为 3.x 构建应用时收到的,并且假设是 Verizon 设备不会接受至少使用 SDK 4 构建的应用。

但是,该应用最近(昨天)更新为使用 4.3 SDK。该应用程序的部署目标设置为 iOS 3.1,并已在运行此版本的设备 (iPhone 3G AT&T) 上成功安装和测试。此最新版本也已成功检索并在运行 4.3 的 iPhone 4 (AT&T) 上进行了测试。我们的印象是,介于两者之间的每个版本 (3.1 - 4.3) 都会兼容,也许事实并非如此?

很遗憾,Verizon 设备不可用于 Xcode 部署或临时分发。

现在是实际的开发问题: 是否有可以解释这种行为的构建设置?否则,我想确定错误是否仅限于特定设备或运行 4.2.8 或 Verizon 特定硬件的所有设备。

我愿意与在 Verizon 设备上运行 4.2.8(或更高版本)的人分享一两个促销代码(这不是贿赂。您是当然,欢迎保留该应用程序,但我仅出于安装测试目的提供此应用程序,不是出于促销原因)。如果您认为可以提供帮助,请表明您对 cme​​ts 的兴趣。我在这里没有提到该应用程序,因为如果没有它就可以确定答案,我不想不必要地向我的产品发送垃圾邮件,但如果需要,我可以共享该信息。


更新:

我关注了 lxt's suggestion 并等待查看这是否是 App Store 服务器的缓存问题。不幸的是,在我被告知更新已准备好销售 40 小时后,我们仍然收到同样的错误。

我在 Apple 开发者论坛中发现了以下主题,确认此问题不仅限于我们的应用程序:(可能需要登录)

我已就该问题向 Apple (ID 9905790) 提交了错误报告。目前,我不确定此问题是否与 Verizon 设备或 iOS 4.2.8 有关。一旦我收到明确的答案,我会发布它。目前,一种似乎对我们尚未尝试过的其他人有效的解决方法是通过 iTunes 兑换和安装。

由于这似乎只影响促销代码兑换而不影响商店购买,因此该问题已不再紧迫。但是,如果有人能够提供更多信息或解决方案,仍然非常感谢。


更新:

我可以确认通过 iTunes 兑换代码然后安装到 Verizon 设备可以正常工作。 这意味着问题不是与应用或构建设置有关,而是与 Verizon 设备 App Store 兑换有关。

我收到了 Apple 的一封回复,以回应我的错误报告,要求我验证这是否发生在 5.0b5 上。不幸的是,如前所述,我们没有开发人员访问 Verizon 设备的权限(这是在这种情况下使用促销代码的全部原因)。我已要求他们确认这是否是 Verizon/iOS 特定问题,并会在我有更多信息时更新此问题。

【问题讨论】:

  • +1 表示一个解释清楚的问题,并为避免成为垃圾邮件而付出了额外的努力。

标签: ios app-store


【解决方案1】:

根据苹果的文档,只需要设置部署目标即可:

您已指出您的二进制文件需要 iOS 4.3 或更高版本。 Verizon iPhone 用户将无法使用需要 iOS 4.3 或更高版本的应用程序。如果您的应用可以与早期的 iO​​S 版本兼容,您可能希望拒绝您的二进制文件并上传一个新的,以表明最早兼容的 iOS。

当您有应用等待审核时,通常会附加到 App Store 电子邮件中的消息。

所以理论上它应该“正常工作”。

但是,有趣的是:

  • 您是否在更新应用之前生成了促销代码?
  • 如果是这样,更新应用后生成的促销代码是否会获得相同的结果(您永远不知道使用 App Store / iTunes Connect...)
  • 24 小时后,您仍然看到同样的问题吗? (24 小时是 App Store 的正常“刷新期”)

抱歉,我无法为您提供更具体的答案。有时确实感觉 App Store 是用字符串连接在一起的,所以如果它保留了一些价值,当你更新应用程序时应该被击退,这并不奇怪。

也就是说,当您为 3.x 构建应用时,您的应用无法在 Verizon 手机上运行,​​这有点奇怪。为什么 Verizon 设备不能用于 Xcode 部署?是因为您手头没有(可以理解的),还是因为其他原因?没有理由不能在其上添加 ad-hoc。

【讨论】:

  • 我同意它应该正常工作,这也是我对这种行为如此惊讶的部分原因。我尝试了之前生成的促销代码(收到过期消息)和今天早上专门为新版本的应用程序生成的促销代码。但是,更新不到 24 小时(目前为 17 小时)。看看这个问题是否会随着 Apple 的服务器更新而得到纠正,这将是非常有趣的。我一定会一整天再试一次。
  • 我们没有用于测试的 Verizon 设备(认为我们不需要一台,因为我们已经有多个 AT&T 设备)。正在使用的设备属于未对 Ad Hoc 分发开放的朋友(因此,由于用户而不是设备,因此无法使用)。
  • 感谢您的澄清!老实说,我并不希望它会在 24 小时后发生变化,但我过去曾遇到过问题。苹果将​​部署目标存储在应用程序本身之外的某个地方是有道理的,所以可能还没有更新。如果问题似乎在 24 小时内没有自行解决,我会直接联系 Apple。
  • 不幸的是,它仍然无法正常工作(请参阅更新)。我将尝试按照建议直接联系 Apple,但我通常对 SO 社区更有信心。感谢您的帮助,我会及时通知您进度!
【解决方案2】:

这纯属猜测:

由于 Verizon 手机有不同的 iOS 版本,因此可能在后台,应用商店中的所有应用都可以使用两次 - 一次签名用于 AT&T 版本的 iOS,一次签名用于 Verizon 版本。 Appstore 将根据您的设备提供适当的版本。

如果是这种情况,并且由于兑换代码早于 Verizon 系列手机,兑换代码可能仅指向应用的一个版本,导致应用商店认为在“错误”上兑换时它是不兼容的” 电话。

猜测结束。

我建议让您的朋友购买该应用程序(如果不是太贵的话)并把钱还给他。如果这可行,那么很明显我们正在处理的是 Apple 礼品代码系统中的一个错误,您应该提交一份有关此问题的错误报告。

顺便说一句:你不是一个人遇到这个问题。虽然他们没有解决这个问题,但this forum 上的人提到了完全相同的情况。

【讨论】:

  • 他们不能使用运营商特定的签名。如果您从桌面上的 iTunes 下载应用程序,它不知道您的设备使用什么运营商(或者即使它们使用运营商)。同样,您可以在 Verizon 设备上购买应用程序,将其与 iTunes 同步,然后将其安装到 AT&T(或其他运营商)的设备上。
  • 好点。所以忘记我的猜测......尽管如此,我还是会向苹果提交一个错误,特别是如果可以在 Verizon 手机上定期购买该应用程序。他们对我最近的两个错误报告的反应非常快,所以我只是试一试。
  • @Toastor 这是一个有趣的理论:) 我开始相信这个问题根本与我的应用程序或我的代码无关,而是与 Verizon 设备或 iOS 4.2.8 的处理方式有关促销代码兑换(见我上面的更新)。 +1 提供了一个链接,表明我们并不孤单,我很感激!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多