If you’ve recently fired up XCode 13 and created a new SwiftUI app, you’ll soon realize that Info.plist has gone missing. For some swift veterans, that might bring up flashbacks of the missing AppDelegate that surfaced in a prior XCode release.
No worries, it's a feature not a bug.
According to the XCode 13 release notes:
Projects created from several templates no longer require configuration files such as entitlements and Info.plist files. Configure common fields in the target’s Info tab, and build settings in the project editor. These files are added to the project when additional fields are used.
While it's still possible to include the plist, moving forward, most Swift developers will find that it's much easier to work with. There is a new info section within the build settings; So just select the project's info tab and add the appropriate keys as you had previously had done with the plist.
The info section and plist is generally used to provision additonal capibility for your application. Most common usage is setting the privacy messages a user sees when accessing the camera or microphone for the first time. So when you're building your next Dolby.io Communications or Streaming app with Swift, you'll need remember to set the Camera and Microphone Privacy keys in the info section of the build settings, exactly the same way you've been doing it with the plist for years.
It's important to be crystal clear about your intended use of those features, and failing to do so may end up as delays or rejections of your app during Apple's review process.
Once again these changes are part of Apple's Less is More design philosophy makes the developer experince better with fewer files to manage.
With each new release of Xcode, It's easy to forget that the tools also evolve, and it's highly recommended and best practice to review the latest release notes for such nuggets of information.
Top comments (1)
This is unique information in your blog! I am glad to see this!
break up a friendship spell