read

If you create a new project in 2023, these 2 components are no longer a thing.

Where is Info.plist?

By default, there isn’t such a file anymore.

You have to edit by selecting the target > Info tab.

(Xcode labeled “Custom macOS App” errorneosly, when the project actually is a multi-platform app.)

Without an actual plist file, we have lost the ability to edit the XML directly.. 😭

While it is possible to revert to the old way by creating your own Info.plist and disable this “new feature”, I won’t recommend down that path. It seems to be something that Apple wants to get rid of.

There is another place where you can edit the same info, under Build Settings tab > Info.plist Values section:

But you should stick with editing only in the Info tab.

Deprecated Launch Screen storyboard

Do not use any storyboard. Apple has forsaken this last use of storyboard.

I created a single target for a multi-platform app (iOS + macOS), and tried to create launch screen storyboards, but it is impossible. I will have errors:

iOS storyboards do not support target device type “mac”.

macOS storyboards do not support target device type “iphone”.

As you can only specify 1 launch screen storyboard per target, yet storyboard has to be either a “iOS type” or “macOS”, it is impossible to support for a multi-platform app.

Having an iOS storyboard will have error when building for mac.

NEW: Launch screen in Info

Since WWDC 2019, Apple has introduced yet another way for launch screen.

Instead of using a storyboard, you can now define the launch screen in the “Info.plist”.

Yup, as mentioned earlier, a modern app doesn’t have Info.plist, so go ahead and edit in the Info tab. Add a new key Launch Screen:

NOTE: If this is the first key you have added, an Info.plist will be created and added to your project. Ok, I wasn’t honest earlier to say Info.plist is no more. But yet this new Info.plist has only the added keys (the uncommon ones), and it gets updated from the Info tab values.

I won’t go into the details. You can specify a an Image Name (named in assets catalog), a Background Color (named color in assets catalog), or even a tab bar.

Keep it simple. It’s Apple buggy new replacement.


Image

@samwize

¯\_(ツ)_/¯

Back to Home