66

this is my first ios app and when i try to submit it to the app store it gives me the ITMS-90096 error.

error screenshot

I think i have already uploaded all the right icons and splash screen images. It says something about the launchimage for 4-inch display on iphone-5 but i have no idea where to add it.

here is my launch image source.

launch image source

i am fairly new to ios development i have a small android background and the ios process of adding and submitting apps seems quite alien to me.

David Rönnqvist
  • 56,267
  • 18
  • 167
  • 205
Pawan
  • 1,614
  • 3
  • 18
  • 32

17 Answers17

44

Update August 2016

When using Xcode 7+ and targeting iOS 8+ it is recommended to remove the .xib file and create a new LaunchScreen.storyboard by using the given template: Add Files...

And than setting it in the Project File under App Icons and Launch Images: App Icons and Launch Images


Original October 2015 Answer

So like @Aditya Deshmane I also use .xib file as my "Launch Image".

Adding both Default-568.png and Default-568@2x.png to my root directory didn't solve my issue.

I had to add the UILaunchImages key to my Info.plist:

<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageName</key>
        <string>Default-568</string>
        <key>UILaunchImageSize</key>
        <string>{320, 568}</string>
    </dict>
</array>

Info.plist As described here: iOS Key UILaunchImages

Danpe
  • 18,668
  • 21
  • 96
  • 131
  • This was perfect timing. I was just trying to figure this out; adding to the root didn't work for me, but the plist addition did it. Thanks! @Danpe – Kevin Jantzer Oct 09 '15 at 16:54
  • 4
    This works. Make sure that: 1. Image name is Default-568 2. It is at the root of the project 3. Its dimensions are 320x568 Trivial, but absolutely required. – Aswin Kumar Oct 24 '15 at 09:38
  • When you say root directory, do you mean the same directory as `MyProject.xcodeproj` ? or the directory `MyProject/..` – W.K.S Dec 12 '15 at 02:37
  • @W.K.S to the same directory as the `MyProject.xcodeproj`. but it didn't solve my issue until I added the `UILaunchImages` key – Danpe Dec 12 '15 at 16:31
  • Also had to clear "Launch screen file" at "App icons and Launch images" .. and also had to ensure both files to root directory next to *.xcodeproj .. RIDICULOUS! – sean2078 Mar 31 '16 at 18:29
  • September 2016 - for iOS 8+ just creating the **LaunchScreen.storyboard** file and removing .xib is enough – André Junges Sep 06 '16 at 21:01
  • The file needs to be called Default-568h, not Default-568, it seems – thomiel Sep 27 '16 at 11:41
  • This answer plus http://stackoverflow.com/questions/34027270/ios-launch-screen-in-react-native should get everything working for React Native – Eldelshell Mar 20 '17 at 17:12
42
  1. Check all those images are .PNG
  2. Put those images at root level of your project
  3. Add another splash.png with name "Default-568h@2x.png" for iPhone 5. Its size should be 640 × 1136 pixel.
  • 3
    should i put all the images at the root level of the project or in images.xcassets ? – Pawan Mar 03 '15 at 11:07
  • 1
    if you are using images.xcassets then it should not create any issue. Put there it will still work. –  Mar 03 '15 at 11:08
  • What if I don;t want to use any launchimage ? – Jeff Bootsholz Jan 27 '16 at 07:48
  • 6
    Thanks Man. I am surprised why apple has made this entire process so much complicated. They could have accepted a very high resolution image and crop it to various sizes they want to use it. Thanks for your help. It worked out pretty well. – Satinder Sidhu Jan 10 '17 at 03:06
  • 1
    I totally agree @SatinderSidhu, the XCode ecosystem seems been driven for someone with a mindset totally against UX (taking devs as users). He should be very proud of being the only one who knows all these perks, probably because of some lack of self confidence. Android ecosystems is way more friendly – Jaime Agudo Apr 29 '17 at 11:33
25

Question is already answered and works as well, just adding one more answer as i got similar error in different scenario.

In my case i was using LaunchScreen.xib which is alternative to using splash images.

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

As stated in above link "In iOS 8 and later, you can create a XIB or storyboard file instead of a static launch image."

But even after using XIB i got this error.

To solve this i took screenshot of splash from 4 inch device running iOS 8, which was 640 × 1136 pixel. Renamed it to "Default-568h@2x.png" added it to top level in project bundle.

Reason behind this error could be :

When apple transitioned from 3.5 inch devices to 4.0 devices, this image was compulsory otherwise app used to run in letterbox mode ( On 4 inch devices you will see black bars on top and bottom of application ). So when i tried to run my application on 4 inch device/simulator running iOS 7.1 it was indeed running into letterbox mode ( when i only used .xib based splash ). The moment i added "Default-568h@2x.png" letterbox mode gone plus apple approved app.

Aditya Deshmane
  • 4,676
  • 2
  • 29
  • 35
  • Great answer for those using the more recent xcode 6.x – Charlie S Sep 15 '15 at 21:23
  • This worked for me! Trying to submit a new app, created using Xcode 7 (after so long) certainly guarantees these "gotcha moments"! – Nitin Alabur Oct 13 '15 at 17:15
  • I am also facing the same issue. I am also using XIB. What do you mean by "added it to top level in project bundle"? Where is the file added? – pr4n Jan 18 '16 at 06:45
  • @Pranav select your project file and right click to add it at root level, don't add it under other directories – Aditya Deshmane Jan 18 '16 at 11:18
12

In my case, I don't use LaunchScreen file but had a value in there. Deleting it like this worked:

enter image description here

Esqarrouth
  • 38,543
  • 21
  • 161
  • 168
6

On Xcode 7 with iOS 9 SDK, if you set 'deployment target' to 8.0 or above, and don't have a asset catalog selected for 'launch images source', then it will work.

Ari G
  • 179
  • 1
  • 11
4

I also had a hard time to figure it out. It happened to me after I upgraded XCode into version 7 (iOS 9). Somehow it unassigned launch images and changed Launch Image options with unchecked iPhone Portrait for iOS 6.0 and Prior from the right pane.

enter image description here

After I checked iPhone Portrait it shows assignable iPhone Portrait iOS 5, 6. I just drag & drop images into the proper holders.

enter image description here

Then I archived with this assignment and uploaded binary successfully into app store. I hope this would help.

San
  • 1,104
  • 3
  • 17
  • 31
  • The problem is made worse because in Xcode 7.1.1 there are two slots for a "Retina 4" launch image, with the same expected dimensions. One is for iOS 5,6 and the other is for iOS 7-9. – Tim R. Jan 11 '16 at 19:03
2

Try to clear "Launch screen file" at "App icons and Launch images"

Remove the laucnh Screen File: Remove name.

  • Could you please elaborate more your answer adding a little more description about the solution you provide? – abarisone Sep 18 '15 at 09:41
  • I also got same error while uploading the application in landscape 1.)U can change the name in Info.plist Main storyboard file base name:Main 2.)U can "Remove" the name which has been written in "Launch Screen File" it will work in my case it has – Priyank Gujarati Sep 18 '15 at 09:51
1

This solution is only for Phonegap + DevExtreme + Visual Studio (Windows):

I struggled for 3 consecutive days to solve this issue. Hope somebody else not have to.

Please follow the below mentioned Steps to resolve the issue:

  1. Create a New Solution.
  2. Delete all the Files and Folders except the "congif.xml" and Solution File.
  3. Copy your existing Files and Folders to the New Solution. DONT COPY THE IMAGES which includes the ICONS AND SPLASH/LAUNCH IMAGES.
  4. In the New Solution, add all the Icons and Splash images from fresh.

Build this Solution with proper Distribution Certificate and submit the IPA to App Store. It must solve the "90096" Error.

Thanks.

Ankit Prajapati
  • 1,425
  • 3
  • 14
  • 22
1

From iOS9, you should add launch images to your project root, not Images.xcassets folder. And set your launch images in info.plist with key UILaunchImages, for my example:

<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.1</string>
        <key>UILaunchImageName</key>
        <string>iPhone5Portrait</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>7.1</string>
        <key>UILaunchImageName</key>
        <string>iPhone6Portrait</string>
    </dict>
</array>
liruqi
  • 1,524
  • 15
  • 12
1

Using XCODE 7.0.1 with an app that did not have the launch images setup. Tried to use the interface to "create" the locations in the .xcassets file, but only created a set with a bad name.

Had to go back to XCODE 6.4 to create the proper locations / set name "LaunchImage" and load the files.

Then back to XCODE 7.0.1 and all seems good.

Looks like there is a bug introduced in XCODE 7.x that will not create the launch image .xcassets correctly.

ort11
  • 3,359
  • 4
  • 36
  • 69
  • I wonder why Apple care to release new versions of Xcode. Every new version, more bugs. The old ones are still there. I simply hate Xcode. – Duck Oct 15 '15 at 20:05
1

I've encountered such problem in my project. 1. The problem was using LaunchScreen.Xib without removing the LaunchImages in Images.assets. After delete LaunchImages from Images.assets, uploading is successfully completed. 2. Please set Deployment Target into over 8.0 If you want to deploy 7.0 too, you have to add launchimages.

Ken W.
  • 1,550
  • 1
  • 14
  • 18
1

Similarly to @Sanghoon, when I got this problem it was due to to targeted versions of iOS for which no iPhone Portrait launch image was specified (though it worked fine in XCode 6)

I'm not fond of placing all the launch images in the root folder, image catalogs work more elegantly and you don't have to name the files according to the @2x @3x convention since the image catalog takes care of it.

My full answer here: https://stackoverflow.com/a/34792891/1014983

Community
  • 1
  • 1
Matthys Du Toit
  • 2,168
  • 3
  • 21
  • 34
1

If you only support iOS9+ you have to add a LaunchScreen.storyboard (without ViewController) enter image description here

And reference it in your Target

enter image description here

1

Just resolved the issue by correcting my Launch screen images. Make sure you have png files as image files.

I had "jpeg" images and converted it directly to ".png" just by changing the name. This was the issue. Used converter application to change the images, and everything worked perfect.

Ankita
  • 61
  • 4
0

One more thing to check... your image size must be correct. I had a splash screen image named logo_640x1136.png provided by a designer, and I couldn't figure out why I kept getting this error. Finally I checked the image with file (command line). Turns out the image wasn't actually 640x1136. If you don't like the command line, select the image in Finder and press Cmd+I to see the image size under "more info".

Jason Clark
  • 1,433
  • 1
  • 16
  • 24
0

I know this doesn't directly answer this question, but for others hopefully this helps: I fixed this by just building for a higher version. In tiapp.xml I added <min-ios-ver>8.0</min-ios-ver> directly under the <ios> tag.

Senica Gonzalez
  • 7,996
  • 16
  • 66
  • 108
0

I'm using LaunchScreen and encountered same problem.

Deleting LaunchImage from Assets.xcassets solved issue for me.

Babac
  • 931
  • 11
  • 21