我正在尝试从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);
});