OK. I've looked at the various other requests in the queue, and I'm not sure if they apply, exactly.
Basically, they all say "Y'all cain't git thar frem here."
That may be the only valid answer, but I figgered I'd ask anyway, in the hope that I may be able to find a way to do this.
I want to be able to change the text presented in the NSLocationWhenInUseUsageDescription key.
The reason for this, is that I want to insert a key, and then replace it dynamically at runtime.
"Why the heck would you want to do that?" you ask.
Good question.
The reason is that I want to have all of the customization and localization done in the Localizable.strings file, and not distributed amongst other files. Since I'm asking people to localize and customize for free, I want to make it as easy as possible for non-technical users to do the localization.
I have a workaround: Use different info.plist files for different localizations and customizations. That's a perfectly acceptable workaround, but it makes localization slightly more difficult.
This discussion tells me it may not be possible.
I made a workaround.
As mentioned in the comments (and in many other places), you can't edit values set by the info.plist file at runtime. This is probably a good practice, as I could see security ramifications, or ways to bypass the App Store walled garden.
What I did, was add a line in my Localizable.strings file with a localization for this alert.
I never actually use this at runtime. Instead, I take that line, and paste the value into the localized info.plist file.
Not a completely automatic solution, but it does allow me to have people localize only one file.