【问题标题】:Invalid Binary: Invalid Launch Image / iPhone 5 Optimization Requirement / Missing Push Notification Entitlement无效的二进制文件:无效的启动图像/iPhone 5 优化要求/缺少推送通知权利
【发布时间】:2013-04-24 15:30:15
【问题描述】:

我最近的应用程序版本已被拒绝为无效二进制文件,并附有以下说明:

启动图像无效 - 您的应用包含一个带有大小修饰符的启动图像,该修饰符仅支持使用 iOS 6.0 SDK 或更高版本构建的应用。

虽然您不需要解决以下问题,但我们想让您了解这些问题:

iPhone 5 优化要求 - 您的二进制文件未针对 iPhone 5 进行优化。自 5 月 1 日起,所有新的 iPhone 应用程序和提交的应用程序更新都必须支持 iPhone 5 上的 4 英寸显示屏。所有应用程序必须包含适当大小的启动图像。查看 iOS 人机界面指南,了解有关 iPhone 5 支持的更多信息。

该应用程序专为 iPhone 4-5iPad 1-3(带和不带 Retina)以全屏 运行。我创建的启动图像如下:

Default.png (640 x 1136)
Default-568h@2x.png (640 x 1136)
Default@2x~iphone.png (640 x 960)
Default-Portrait~iphone.png (320 x 480)
Default-Portrait@2x~ipad.png (1536 x 2008)
Default-Portrait~ipad.png (768 x 1004)
Default-Landscape@2x~ipad.png (2048 x 1496)
Default-Landscape~ipad.png (1024 x 748)

这些位于我的项目根目录中,并按上述顺序包含在 AIR for iOS 设置“包含的文件”列表中(顺序重要吗?)。

当我加载应用程序时,启动图像会同时显示在我的 iPhone 5 和 iPad 3 上,但它们似乎在第一次加载时会调整大小/向左跳跃一点,就在切换到应用程序的主屏幕之前。该应用程序在两台设备上的大小都正确(没有黑色边距)。

也许我看错了尺寸。 Adobe 似乎建议我使用全分辨率作为图像分辨率:

但所有其他建议似乎都表明启动图像不应包含最终尺寸的菜单栏:

您能提供的任何建议将不胜感激。

最后,Apple 的回应包括以下内容:

缺少推送通知权利 - 您的应用似乎包含用于注册 Apple 推送通知服务的 API,但应用签名的权利不包括“aps-environment”权利。如果您的应用程序使用 Apple 推送通知服务,请确保您的应用程序 ID 在配置门户中启用推送通知,并在使用包含“aps-environment”权利的分发配置文件签署您的应用程序后重新提交。有关详细信息,请参阅本地和推送通知编程指南中的“供应和开发”。如果您的应用程序不使用 Apple 推送通知服务,则无需执行任何操作。您可以从以后的提交中删除 API 以停止此警告。如果您使用第三方框架,您可能需要联系开发人员以获取有关删除 API 的信息。

如果其他人正在搜索此问题,我可以通过此链接解决: App rejected because of "Missing Push Notification Entitlement"

【问题讨论】:

标签: ios iphone-5


【解决方案1】:

我也有这个问题。 5分钟前就修好了!这就是我所做的。

创建以下三个 .png 图片文件,并保存到 src 文件夹中(不要留在 assets 文件夹中)。

  • Default.png(设置为 320x480px)- iphone 3
  • Default@2x.png (设置为 640x960px) - iphone 4
  • Default-568h@2x.png(设置为 640x1136px) - iphone 5

这些文件不必链接到您的任何代码 - Apple 在加载应用程序时使用它们来设置初始屏幕大小。祝你好运!

【讨论】:

  • 别忘了在项目中导入
【解决方案2】:

您可能正在使用不包含 Base SDK 6.0 的 XCode 版本进行开发。为了包含 iPhone 5 Default-568h@2x.png 并且在上传后不会让您的应用程序被拒绝,您需要使用指向 6.0 的 Base SDK 来构建它。包含 Base SDK 6.0 的 XCode 版本不再支持任何低于我认为 4.2 的 iOS,因此,如果您的目标是 iPhone 3 或第一代 iPod 等设备,那么您就不走运了。如果没有,那么只需将您的 XCode 更新到最新版本,并将项目构建设置中的 Base SDK 设置为最新版本,或至少 6.0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2015-11-21
    • 2016-07-09
    • 1970-01-01
    • 2015-12-01
    相关资源
    最近更新 更多