This is an older post on SarunW.com, but I found it helpful recently when setting up a new iOS project in Xcode and needing to customize the Info.plist, because the post explains pretty well what is going on behind the scenes.
Where is [the] Info.plist in Xcode
In some ways this behavior is helpful in Xcode, and I think I agree with the basic intent behind the UX. It probably works for beginners who do not need to tweak the Info.plist settings, but for those of us who are used to just going right to the plist and editing it, it can be frustrating when it’s missing.
“Where did it go?!?” — Frustrated iOS Dev
The key thing to take away is that for common settings, you can edit those right in the Info tab of each target in your Xcode project, but once you start adding entries that Xcode considers “uncommon”, it will generate an Info.pilst at that point.
In my opinion, this is the point at which the Xcode team failed, because from this point onward it appears that the “common” settings are managed from the Info tab, and the “uncommon” settings are managed in the Info.plist file. So from that point on, you have to manage them from two places. Yuck.
By way of a concrete example, when I needed to add a custom font to my application, it split that information out and put it into the Info.plist. So now I have a set of settings that are managed from the app target’s Info tab, and settings that are also managed in the generated info.plist file.
I had to choose, I think I would have liked to be able to just manage those settings in the Info tab, instead of splitting it up into two places. Info actually feels like a good location for those settings to live.
It’s kind of a hassle, but there’s not a lot that we can do about it for now.