pbxProject.prototype.getBuildProperty = function()

in lib/pbxProject.js [2071:2108]


pbxProject.prototype.getBuildProperty = function(prop, build, targetName) {
    var target;
    let validConfigs = [];

    if (targetName) {
        const target = this.pbxTargetByName(targetName);
        const targetBuildConfigs = target && target.buildConfigurationList;

        const xcConfigList = this.pbxXCConfigurationList();

        // Collect the UUID's from the configuration of our target
        for (const configName in xcConfigList) {
            if (!COMMENT_KEY.test(configName) && targetBuildConfigs === configName) {
                const buildVariants = xcConfigList[configName].buildConfigurations;

                for (const item of buildVariants) {
                    validConfigs.push(item.value);
                }

                break;
            }
        }
    }
    
    var configs = this.pbxXCBuildConfigurationSection();
    for (var configName in configs) {
        if (!COMMENT_KEY.test(configName)) {
            if (targetName && !validConfigs.includes(configName)) continue;
            var config = configs[configName];
            if ( (build && config.name === build) || (build === undefined) ) {
                if (config.buildSettings[prop] !== undefined) {
                    target = config.buildSettings[prop];
                }
            }
        }
    }
    return target;
}