I'm updating an Objective-C iOS app for new device sizes and new iOS versions. I'm using Xcode 11.0 on macOS 10.14.
My app uses a launch screen storyboard. But when I build the app, I get a warning message saying
My storyboard is named LaunchScreen.storyboard. That launch image shows up on the screen when I launch the app, so I know my the storyboard is being used and is working.
In my target's General properties, I have Launch Screen File set to LaunchScreen, which is a choice in the drop-down list. In my LaunchScreen.storyboard options, I have Use as Launch Screen checked. The view controller in my storyboard has Is Initial View Controller checked.
In Images.xcassets, I have an image set named LaunchImage with none of the images filled in. If I delete that image set and build the app, I get an error message saying
If I recreate that image set by choosing (plus sign) > App Icons & Launch Images > New iOS Launch Image, then I'm back where I started, getting the warning message.
If I search my project for UILaunchImages, I get no hits. If I search for LauchImage, I find the empty image set in Images.xasets and these two lines in my xcodeproj file:
I don't see any mention of LaunchImages in any of the framework filenames that I'm using.
Just in case:
In all cases, builds still produce the same warning message.
If I go to the LanchImages image set and fill in images for all the screen shapes and sizes, I still get the original warning message, plus one new warning message:
I don't want to submit an app that gets compiler warnings, but I'm out of ideas. Should I have a LaunchImage asset set or not? How should I get it to recognize that I'm not using the deprecated launchscreen system?
My app uses a launch screen storyboard. But when I build the app, I get a warning message saying
UILaunchImages has been deprecated, use launch storyboards instead.
My storyboard is named LaunchScreen.storyboard. That launch image shows up on the screen when I launch the app, so I know my the storyboard is being used and is working.
In my target's General properties, I have Launch Screen File set to LaunchScreen, which is a choice in the drop-down list. In my LaunchScreen.storyboard options, I have Use as Launch Screen checked. The view controller in my storyboard has Is Initial View Controller checked.
In Images.xcassets, I have an image set named LaunchImage with none of the images filled in. If I delete that image set and build the app, I get an error message saying
None of the input catalogs contained a matching launch image set named "LaunchImage". Images.xcassets.
If I recreate that image set by choosing (plus sign) > App Icons & Launch Images > New iOS Launch Image, then I'm back where I started, getting the warning message.
If I search my project for UILaunchImages, I get no hits. If I search for LauchImage, I find the empty image set in Images.xasets and these two lines in my xcodeproj file:
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage
I don't see any mention of LaunchImages in any of the framework filenames that I'm using.
Just in case:
I checked that Launch Screen File is set to LaunchScreen in my info.plist file.
I used Clean Build Folder before each build.
I created a new LaunchScreen storyboard and switched the project to use it.
I closed and reopened my project.
I quit Xcode and relaunched it.
I tried setting the Deployment target to iOS 11.0 or iOS 12.0.
In all cases, builds still produce the same warning message.
If I go to the LanchImages image set and fill in images for all the screen shapes and sizes, I still get the original warning message, plus one new warning message:
Launch images are deprecated in iOS 13.0. Use a launch storyboard or XIB instead. Images.xcassets.
UILaunchImages has been deprecated, use launch storyboards instead.
I don't want to submit an app that gets compiler warnings, but I'm out of ideas. Should I have a LaunchImage asset set or not? How should I get it to recognize that I'm not using the deprecated launchscreen system?