ios - 错误 ITMS-90096 - 缺少 iOS 7 的启动图像

标签 ios xamarin.ios app-store-connect

我有一个正在尝试上传到 iTunes 连接的 Xamarin.iOS 项目。我的部署目标是 iOS 8,我有一个 Storyboard设置为我的启动图像。这在模拟器和设备上都能正常工作。

但是,当我通过 Application Loader 上传时,出现此错误:

ITMS-90022: Your binary is not optimized for iPhone 5

这令人难以置信地沮丧,因为我的理解是这是 iOS 7 的要求,而不是 iOS 8。即便如此,我已尝试满足该错误但无济于事。

我试过:

  • 将 Default-568h@2x.png 文件放入我的根目录
  • 修改我的 Info.plist 以直接引用该文件
  • 将其放入 Launch Images Assets 目录
  • 在旁边添加一个 Default@2x.png 文件,以防万一
  • 从 Info.plist 中删除引用,并依赖旧的默认值
  • 将最低操作系统版本从 8.0 更改为 9.0
  • 在每个步骤中,检查生成的 IPA 以验证我所做的更改是否存在

没有——没有——有帮助。我束手无策,我需要在明天之前提交这件事,否则就有可能错过最后期限。

我开始怀疑这实际上不是二进制文件本身的问题,但我没有任何线索。

我的 Info.plist,因为它现在存在:(是的,UILaunchImages 部分被注释掉了,如上所述,它似乎没有什么区别)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>genome</string>
    </array>
    <key>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
        <integer>2</integer>
    </array>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>MinimumOSVersion</key>
    <string>9.0</string>
    <key>CFBundleDisplayName</key>
    <string>Intracept</string>
    <key>CFBundleIdentifier</key>
    <string>com.klick.sensei.intracept</string>
    <key>CFBundleVersion</key>
    <string>0.2.2</string>
    <key>CFBundleIconFiles</key>
    <array/>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreenIntracept.storyboard</string>
    <key>CFBundleShortVersionString</key>
    <string>0.2.0</string>
    <key>XSAppIconAssets</key>
    <string>Resources/Media.xcassets/AppIcons_Intracept.appiconset</string>
    <key>CFBundleName</key>
    <string>Intracept</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>com.klick.sensei.intracept</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>intracept</string>
            </array>
        </dict>
    </array>
    <key>UIRequiresFullScreen</key>
    <true/>
<!--
    <key>UILaunchImages</key>
    <array>
        <dict>
            <key>UILaunchImageSize</key>
            <string>{320, 568}</string>
            <key>UILaunchImageName</key>
            <string>Default</string>
            <key>UILaunchImageOrientation</key>
            <string>Portrait</string>
            <key>UILaunchImageMinimumOSVersion</key>
            <string>7.0</string>
        </dict>
    </array>
-->
</dict>
</plist>

最佳答案

因此,事实证明该错误与启动图像本身无关,而与 Info.plist 有关:

<key>UILaunchStoryboardName</key>
<string>LaunchScreenIntracept.storyboard</string>

看到那个 .storyboard 了吗?错了!它应该只是基本文件名:

<key>UILaunchStoryboardName</key>
<string>LaunchScreenIntracept</string>

一旦我这样做了,它就奏效了。

我仍然有我的 Default*.png 文件,但对它们的引用已被删除。我不知道是否需要它们,但它们现在将永远留在那里。

关于ios - 错误 ITMS-90096 - 缺少 iOS 7 的启动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39453925/

相关文章:

iOS状态栏重叠

xamarin.ios - MonoTouch/MonoDroid 中可移植类库强汇编引用问题

IOS 应用程序更新 - 丢失私钥

ios - iTunes Connect 无法编辑描述

ios - 如何对多个 NSProgress 使用 observeValueForKeyPath?

ios - UI 导航左栏项目显示后退按钮和附加按钮

iphone - :In app purchase and Monotouch 的文档或博客

mono - 获取 : "Compilation exited with code 134" when attempting to use "LLVM Optimizing Compiler" switch

app-store - iTunes Connect Autoingestion.class 不执行任何操作

ios - 文件名参数带有通配符的 PathForResource