我正在尝试从Nodejs向Xcode项目写入文件 . xcode项目已经被creadted,称为PDIapp . 我从npm得到了这个文档但我得到了一些错误,我不知道如何解决 .

如果我注释掉后跟“// ERROR HERE”的行,则不会抛出任何错误 . 第一行“myProj.addHeaderFile('foo.h');”带错误会抛出错误消息:

/Users/laurenshultz/node_modules/xcode/lib/pbxProject.js:986 var groups = this.hash.project.objects ['PBXGroup'],^ TypeError:无法在pbxProject.pbxGroupByName读取未定义的属性'project'(/在correctForPluginsPath(/ Users / laurenshultz / node_modules / /) xcode / lib / pbxProject.js:1617:12)pbxProject.addPluginFile(/Users/laurenshultz/node_modules/xcode/lib/pbxProject.js:106:5)at pbxProject.addHeaderFile(/ Users / laurenshultz / node_modules / xcode / lib / pbxProject.js:214:21)在pbxProject上 . (/Users/laurenshultz/app.js:7:9)在pbxProject的pbxProject.emit(events.js:211:7)的emitOne(events.js:116:13)处 . (/Users/laurenshultz/node_modules/xcode/lib/pbxProject.js:45:18)在emitTwo(events.js:126:13)

如果我取消注释行“fs.writeFileSync(projectPath,myProj.writeSync());”比我收到错误的“TypeError:无法读取属性'headComment'的undefined”

这是我的app.js代码:

var xcode = require('xcode');
var fs = require('fs');
var projectPath = '/Users/laurenshultz/Documents/ClaasPDI/PDIapp/PDIapp.xcodeproj';
var myProj = xcode.project(projectPath);

myProj.parse(function (err) {
    myProj.addHeaderFile('foo.h'); //ERROR HERE
    myProj.addSourceFile('foo.m'); //ERROR HERE    
    myProj.addFramework('FooKit.framework'); //ERROR HERE

   fs.writeFileSync(projectPath, myProj.writeSync()); //ERROR HERE
   console.log('new project written');
});

var MongoClient = require('mongodb').MongoClient, format = require('util').format;

var url = 'mongodb://<user>:<password>@candidate.37.mongolayer.com:10986,candidate.36.mongolayer.com:10976/sandbox?replicaSet=set-563d1d6efb36a6be4e0002c8'

var dbExtension = 'sandbox?replicaSet=set-563d1d6efb36a6be4e0002c8';

MongoClient.connect(url, function(err, client)
{
        if(err)
        {
                throw err;
        }
        else
        {
                console.log("successfully connected to the database");
        }
        var db = client.db(dbExtension);

});