#!/usr/bin/env node var util = require('util'); var os = require('os'); var child_process = require('child_process'); var XCODEBUILD_MIN_VERSION = '6.4'; var XCODEBUILD_NOT_FOUND_MESSAGE = util.format('Please install Xcode version %s or greater from the Mac App Store.', XCODEBUILD_MIN_VERSION); var TOOL = 'xcodebuild'; var xcode_version = child_process.spawn(TOOL, ['-version']), version_string = ''; xcode_version.stdout.on('data', function (data) { version_string += data; }); xcode_version.stderr.on('data', function (data) { console.log('stderr: ' + data); }); xcode_version.on('error', function (err) { console.log(util.format('Tool %s was not found. %s', TOOL, XCODEBUILD_NOT_FOUND_MESSAGE)); }); xcode_version.on('close', function (code) { if (code === 0) { var arr = version_string.match(/^Xcode (\d+\.\d+)/); var ver = arr[1]; if (os.release() >= '15.0.0' && ver < '7.0') { console.log(util.format('You need at least Xcode 7.0 when you are on OS X 10.11 El Capitan (you have version %s)', ver)); process.exit(1); } if (ver < XCODEBUILD_MIN_VERSION) { console.log(util.format('%s : %s. (you have version %s)', tool, XCODEBUILD_NOT_FOUND_MESSAGE, ver)); } } process.exit(code); });