ernestocattaneo
ernestocattaneo

Reputation: 1207

iOS Deployment: AppIcon and LaunchScreen

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:

enter image description here

Launch Screen

AppIcon enter image description here

Thank you again

Upvotes: 0

Views: 1181

Answers (2)

hagi
hagi

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:

      Attributes Inspector: Asset Catalog

    • 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:

  • Main Interface: Leave as is
  • Launch Image Source: Ignore if you only support iOS 8 and have a Launch Screen File
  • Missing assets in general: If you are sure they are not needed, uncheck them in the Attributes Inspector. In your case, you don't need the asset at all, as you have a launch screen file.

Upvotes: 0

Lucas Huang
Lucas Huang

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

Related Questions