2016-08-30 1 views
2

Je cours quelques tâches de gulp. Chaque fois que j'atteins une commande open, elle se brise par exécution. Exemple ci-dessousLa tâche Gulp ne se poursuit pas après l'exécution d'une commande 'open'

gulp.task('xcodeIPa', ['xcodeOpen'],() => 
    run('second command').exec() 
); 

gulp.task('xcodeOpenProject',() => 
     run('open -a Xcode ./platforms/ios/myProject.com.xcodeproj').exec() 
); 

Mon xcodeOpenProject ouvre mon Xcode et ne permet pas la xcodeIPa de continuer après. S'il vous plaît comment puis-je ouvrir et continuer? Toute aide serait appréciée.

Répondre

0

Utilisation child_process.spawn() à la place:

var spawn = require('child_process').spawn; 

gulp.task('xcodeOpenProject',() => 
    spawn('open', ['-a', 'Xcode', './platforms/ios/myProject.com.xcodeproj']) 
) 

Notez que cela pourrait mettre fin au processus de XCode lorsque vous résiliez avec gulp CTRL +C. Si vous voulez vous assurer XCode continue de fonctionner même après le processus de gulp vous termine devez passer l'option detached:true à spawn():

gulp.task('xcodeOpenProject',() => 
    spawn('open', ['-a', 'Xcode', './platforms/ios/myProject.com.xcodeproj'], {detached:true}) 
)