in lib/prepare.js [219:244]
function updateProject (platformConfig, locations) {
const plistFile = path.join(locations.xcodeCordovaProj, 'App-Info.plist');
const infoPlist = plist.parse(fs.readFileSync(plistFile, 'utf8'));
if (platformConfig.getAttribute('defaultlocale')) {
infoPlist.CFBundleDevelopmentRegion = platformConfig.getAttribute('defaultlocale');
}
// replace Info.plist ATS entries according to <access> and <allow-navigation> config.xml entries
const ats = writeATSEntries(platformConfig);
if (Object.keys(ats).length > 0) {
infoPlist.NSAppTransportSecurity = ats;
} else {
delete infoPlist.NSAppTransportSecurity;
}
/* eslint-disable no-tabs */
// Write out the plist file with the same formatting as Xcode does
let info_contents = plist.build(infoPlist, { indent: '\t', offset: -1 });
/* eslint-enable no-tabs */
info_contents = info_contents.replace(/<string>[\s\r\n]*<\/string>/g, '<string></string>');
fs.writeFileSync(plistFile, info_contents, 'utf-8');
return handleBuildSettings(platformConfig, locations, infoPlist);
}