module.exports.prepare = function()

in lib/prepare.js [51:76]


module.exports.prepare = function (cordovaProject, options) {
    const platformJson = PlatformJson.load(this.locations.root, 'ios');
    const munger = new PlatformMunger('ios', this.locations.root, platformJson, new PluginInfoProvider());
    this._config = updateConfigFile(cordovaProject.projectConfig, munger, this.locations);

    const parser = new PlatformConfigParser(cordovaProject.projectConfig.path);
    try {
        const manifest = parser.getPrivacyManifest();
        overwritePrivacyManifest(manifest, this.locations);
    } catch (err) {
        return Promise.reject(new CordovaError(`Could not parse PrivacyManifest in config.xml: ${err}`));
    }

    // Update own www dir with project's www assets and plugins' assets and js-files
    return updateWww(cordovaProject, this.locations)
        // update project according to config.xml changes.
        .then(() => updateProject(this._config, this.locations))
        .then(() => updateIcons(cordovaProject, this.locations))
        .then(() => updateLaunchStoryboardImages(cordovaProject, this.locations))
        .then(() => updateBackgroundColor(cordovaProject, this.locations))
        .then(() => updateFileResources(cordovaProject, this.locations))
        .then(() => alertDeprecatedPreference(this._config))
        .then(() => {
            events.emit('verbose', 'Prepared iOS project successfully');
        });
};