ERROR ITMS-90096 - Missing Launch Image for iOS 7

I have a Xamarin.iOS project that I am trying to load into iTunes connect. My deployment target is iOS 8, and I have a storyboard installed as a launch image. This works correctly both in the simulator and on the device.

However, when I boot through Application Loader, I get this error:

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

This is incredibly difficult, because I understand that this is a requirement of iOS 7, not iOS 8. Despite this, I tried to satisfy this error to no avail.

I tried:

  • Paste the Default-568h@2x.png file into the root directory
  • Modify my Info.plist to link directly to this file
  • Entering Launch Images Asset Catalog
  • Adding a file Default@2x.png with it, just in case
  • Removing a link from Info.plist and using the old one by default
  • Change the minimum OS version from 8.0 to 9.0 .
  • At each step, the produced IPA is checked to verify the changes made.

Nothing - nothing - helped. I am at my end, and I need to pass it on, presented tomorrow, or risk missing the deadline.

I'm starting to suspect that this is actually not a problem with the binary itself, but I have no idea.

My Info.plist, as it exists right now: (Yes, the UILaunchImages section is commented out as above, it does not seem to matter)

  <? 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>
+5
source share
1 answer

So it turns out that the error had nothing to do with launch images, but with Info.plist:

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

See what .storyboard ? It is not right! It should just be the name of the base file:

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

As soon as I did this, it worked.

I still have the default * .png files, but the links to them are deleted. I have no idea if they are needed or not, but they will stay there forever.

+5
source

All Articles