Description
Currently when a build setting corresponding to an Info.plist key is set, and the same Info.plist key is set in the INFOPLIST_FILE, the build system will silently overwrite one with the other.
Since the behavior of which wins might be surprising or non-obvious to users, we should emit a warning when the two sides are in conflict, so users can ensure the intended effect of the merging process.
For scalar values, this is straightforward, and for arrays and dictionaries, we might choose an append/merge behavior depending on the key, and also emit warnings for conflicting keys hierarchically throughout nested dictionaries.