UNPKG

tarifa

Version:

Your friendly toolchain for mobile app development on top of Apache Cordova

47 lines (40 loc) 1.5 kB
var Q = require('q'), exec = require('child_process').exec, path = require('path'), format = require('util').format, pathHelper = require('../../../../../helper/path'), log = require('../../../../../helper/log'); module.exports = function (msg) { var conf = msg.localSettings.configurations.ios[msg.configuration], label = conf.sign; if(!label || !conf.product_file_name || !conf.product_name){ return Q.resolve(msg); } var signing = msg.localSettings.signing.ios[label], identity = signing.identity, provisioning_path = signing.provisioning_path, output = path.join(pathHelper.app(), 'platforms/ios', conf.product_file_name + '.ipa'), defer = Q.defer(), app_input = path.join(pathHelper.app(), 'platforms/ios', conf.product_name + '.app'), cmd = format( 'xcrun -log -sdk iphoneos PackageApplication -v "%s" -o "%s" -sign "%s" -embed "%s"', app_input, output, identity, provisioning_path ), options = { timeout: 0, maxBuffer: 1024 * 400 }; exec(cmd, options, function (err, stdout) { if(err) { defer.reject(format('%s %s', cmd, err)); return; } log.send('info', stdout.toString()); log.send('success', '[ios] run xcrun and produced the ipa: %s', output.toString()); defer.resolve(msg); }); return defer.promise; };