Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Doctor Q

Administrator
Original poster
Staff member
Sep 19, 2002
39,858
7,725
Los Angeles
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

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?
 

Doctor Q

Administrator
Original poster
Staff member
Sep 19, 2002
39,858
7,725
Los Angeles
Does your Info.plist have a UILaunchImages key? If so, delete it.
No. It has only
XML:
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>MainStoryboard</string>
That looks correct to me.
 

casperes1996

macrumors 604
Jan 26, 2014
7,503
5,679
Horsens, Denmark
If it isn’t a massive bother, I’d recommend just starting a new Xcode project and transferring over your files and work, to see if it’s still an issue. Probably just some configuration in Xcode somewhere that still sees it as an active dependency, even if it isn’t even used.
 

jonblatho

macrumors 68030
Jan 20, 2014
2,513
6,214
Oklahoma
No. It has only
XML:
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>MainStoryboard</string>
That looks correct to me.
What about if you search “launch” in the target’s build settings? Look for Asset Catalog Launch Image Set Name under Asset Catalog Compiler - Options. If I set that previously unset value to a random string in my project, it throws the same compile-time error you mentioned. Try clearing that setting.
 

Doctor Q

Administrator
Original poster
Staff member
Sep 19, 2002
39,858
7,725
Los Angeles
What about if you search “launch” in the target’s build settings? Look for Asset Catalog Launch Image Set Name under Asset Catalog Compiler - Options. If I set that previously unset value to a random string in my project, it throws the same compile-time error you mentioned. Try clearing that setting.
That was exactly the right solution. Once I cleared the Asset Catalog Launch Image Set Name value, the warning disappeared, and I could remove the LaunchImage image set as well.

Thanks mucho!
 
  • Like
Reactions: jonblatho
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.