&引用;您的二进制文件未针对iPhone 5进行优化”;上传xcode 6.0.1的应用程序后

&引用;您的二进制文件未针对iPhone 5进行优化”;上传xcode 6.0.1的应用程序后,xcode,localization,app-store-connect,Xcode,Localization,App Store Connect,在使用Xcode版本6.0.1(6A317)上传二进制文件后,我收到了这封电子邮件 您的二进制文件未针对iPhone 5进行优化--新的iPhone应用程序和应用程序 提交的更新必须支持iPhone 5上的4英寸显示屏,并且必须 在下包含Info.plist中引用的启动映像 UILaunchImageSize值设置为{320568}的UILaunchImages。 启动图像必须是PNG文件,并且位于您的 捆绑,或在每个.lproj文件夹中提供,如果您将 启动图像。了解有关iPhone 5支持和应

在使用Xcode版本6.0.1(6A317)上传二进制文件后,我收到了这封电子邮件

您的二进制文件未针对iPhone 5进行优化--新的iPhone应用程序和应用程序 提交的更新必须支持iPhone 5上的4英寸显示屏,并且必须 在下包含Info.plist中引用的启动映像 UILaunchImageSize值设置为{320568}的UILaunchImages。 启动图像必须是PNG文件,并且位于您的 捆绑,或在每个.lproj文件夹中提供,如果您将 启动图像。了解有关iPhone 5支持和应用程序发布图像的更多信息 通过查看“iOS人机界面指南”,请访问 '' 以及《iOS应用程序编程指南》,网址为 ''

这是我的plist文件:

这是我的Xcode树:

这是我的束根树:


这是我能找到的关于这个问题的唯一资源,但它仍然没有得到回答(3天了)

这也发生在我身上。由于iOS6(我认为)如果你本地化你的应用程序,你必须始终保持一致。正如我在屏幕截图中看到的,英语、荷兰语和法语都是语言。你在做本地化的任何地方都必须有这些语言。字符串本地化文件必须包含所有这些语言,但不能包含更多语言。 当我使用Appirator库开发一个应用程序时,我得到了同样的回答。Appirator有多种语言的消息,而我的应用仅针对两种语言进行本地化。所以我不得不从Appirator中删除所有其他字符串文件,除了我需要的2个。 一旦我做到了,一切都很顺利

因此,简单的回答是:删除所有不需要支持的额外本地化文件,并添加应用程序中缺少的本地化文件

干杯

由danielgindi编辑

尽管有人声称这个答案无关紧要,但这实际上是可行的。 当我开始在应用程序中使用基本本地化时,我遇到了这种情况,它仍然在
en.lproj
文件夹中本地化了一些资源,包括
Default.png
s

因此,您可以确保拥有
默认值-568h@2x.png
在您正在使用的所有本地化文件夹中保存文件,或删除您未使用的本地化。
我刚刚把所有东西都搬到了
Base.lproj
,这样就可以清楚地知道它是什么,而且没有重复。

我们遇到了同样的问题,在尝试了许多解决方案后无法解决,我们相信这是应用程序提交中的一种缺陷。 但我们找到了一个解决办法,可以使启动映像本地化并通过提交验证

环境:

带有iOS 8.1 SDK的Xcode 6.1(6A1052c)

前提条件:

在“*-info.plist”文件中具有以下属性

步骤:

  • 转到您的目标设置,在我们的标准场景中(本地化 启动映像,它在“*-info.plist”中使用“UILaunchImages”,但不使用 图像资产),它应该看起来像图像

  • 更改设置以使用图像资源(注意:此步骤后,Xcode将自动删除*-info.plist文件中的“UILaunchImages”属性。因此,请先备份属性。)

  • 转到“LaunchImage”资源(可以单击右侧的箭头按钮)并填充其中一个*.lproj文件夹中的图像。

  • 现在,转到包含图像和“Contents.json”文件的“LaunchImage”文件夹。

  • 删除所有刚刚添加的launch图像,但保留“Contents.json”(及其内容)文件

  • 检查“Contents.json”,它应该包含像下图这样的属性

  • 仔细检查以下项目:

    • 资源文件夹中的本地化启动映像(en.lproj、ja.lproj等)

    • *-info.plist包含“UILaunchImages”属性

    • 项目设置将图像资源用于启动图像

    • “LaunchImage”资产文件夹中的“Contents.json”,并且该文件夹实际上没有启动图像

    现在,您可以尝试使用本地化的启动图像,并将二进制文件提交到iTunes Connect。在我们的应用程序中,解决方案确实适用于“本地化发布图像””和“提交成功”

    这应该是避免提交检查中的错误的一个技巧

    由于上述解决方案不会改变任何资源,除了让检查认为我们使用图像资产之外,我们更确信苹果的检查中存在一些缺陷

    干杯

    更清楚地说:
  • 将启动映像源更改为“启动映像”(按照@Charlie Hung答案中的步骤1-3)
  • 右键单击项目并选择“在Finder中显示”
  • 找到文件夹Assets.xcsets并打开它
  • 打开LaunchImage.LaunchImage文件夹,将两个图像移动到项目中的.Iproj文件夹中。(我的名字叫Base.Iproj) 最后,将其添加到info.plist(在文本编辑器中打开):

    UILaunchImages
    UILaunchImageMinimumOSVersion
    7
    UILaunchImageName
    iOS7违约
    维吾尔语
    肖像画
    UILaunchImageSize
    {320, 480}
    

    这就是我所要做的。

    在我的情况下,我正在更新一个旧的应用程序。结果我丢失了一个名为launchiPhone5的图标文件-568h@2x.png尺寸为320x568。我通过查看警告发现了这一点。我创建了这个文件,将它与其他图标文件一起添加到我的项目中,效果很好


    希望这对某人有所帮助:-)

    按照Charlie和Dan的建议做,并确保图像文件名中没有任何破折号。直到我将文件重命名为字母数字文件,我的文件才起作用。

    我也遇到了同样的错误,但我没有故事板(xib)
    <key>UILaunchImages</key>
      <array>
        <dict>
          <key>UILaunchImageMinimumOSVersion</key>
          <string>7.0</string>
          <key>UILaunchImageName</key>
          <string>iOS7-Default </string>
          <key>UILaunchImageOrientation</key>
          <string>Portrait</string>
          <key>UILaunchImageSize</key>
          <string>{320, 480}</string>
        </dict>
      </array>
    
    <key>UILaunchImageFile~iphone</key>
    <string>Launch Screen.storyboard</string>