Reputation: 1207
I have a doubt concerning the release of my application: this is regarding the App Icon and the Launch Images
I'm actually stucked and I need someone that has already uploaded an application to the App Store (this is my first time!) because I've heard that if you don't provide what they want.. the application will not be published... thank you in advance
Here is the General tab of my application:
Launch Screen
AppIcon
Thank you again
Upvotes: 0
Views: 1181
Reputation: 11823
Main Interface field: This interface (XIB or storyboard file) is loaded after launch. If you create everything (including the main UIWindow
) from code (usually in your app delegate class, within application:willFinishLaunchingWithOptions:
or application:didFinishLaunchingWithOptions:
), you can leave this field empty. If your app works as expected, don't make any changes here.
There are multiple ways for providing launch images:
Static PNG files: You have to provide files for every screen size that you want to support. These are a lot (especially for universal apps). Again, you have two options to tell the system about your files: You can follow the age-old naming convention, i.e., you name the files Default.png
, plus a suffix for all the different variants, e.g., [email protected]
(iPhone 4 and 4s), Default~ipad.png
(non-retina iPads) etc. The format is documented here.
As this is pretty cumbersome, you can use asset catalogs that basically handle the naming for you, but you still need to provide all the different PNG files. When you click Use Asset Catalog, Xcode will create a launch image asset (i.e., a collection of image files) for you. If you want to rename the asset later (you are not bound to using LaunchImage
or Default
as asset names), just use the field that replaces the Use Asset Catalog button.
Xcode does not keep your asset catalog and project settings in sync, so it may bother you with missing assets that aren't actually needed (re: your last part of the question). Select the asset in question and open the Attributes Inspector (right panel, right-most tab). Here you can check and uncheck supported devices:
XIBs/Storyboards: Another, separate way to provide a launch image is via the Launch Screen File setting, i.e., a XIB or Storyboard file. They are iOS 8 (and later) only: If you support older versions (which you do not seem to do), you still need to provide static files. Else you can ignore static files and only have a XIB/Storyboard. It takes precedence over static files, so if you supply both and run on iOS 8, the XIB/Storyboard will be used.
In a nutshell:
Upvotes: 0
Reputation: 4016
For your first question and based on the docs from Apple. The LaunchScreen.xib is just a tool to let you adapt to different screen size.
In iOS 8 and later, you can create a XIB or storyboard file instead of a static launch image. When you create a launch file in Interface Builder, you use size classes to define different layouts for different display environments and you use Auto Layout to make minor adjustments. Using size classes and Auto Layout means that you can create a single launch file that looks good on all devices and display environments. (For an overview of display environments and size classes, see Build In Adaptivity; to learn how to use size classes in Interface Builder, see Size Classes Design Help.)
If you also need to support earlier versions of iOS, you can continue to supply static launch images in addition to a launch file.
For your second question, I think you are good to go as long as you have three version of a icon and those are @1x, @2x and @3x. I see that you do have three version of icon. Why don't you just drag it in the space so that iOS can decide when to use for you.
Hope this helps.
Upvotes: 1