nativescript-dev-xcode
xcodeproj/project.pbxproj 文件解析器
npm i --save nativescript-dev-xcode

nativescript-dev-xcode

xcodeproj 项目文件的解析实用工具

允许您编辑 xcodeproject 文件并将其写回。

分支自: apache/cordova-node-xcode

示例

// API is a bit wonky right now
var xcode = require("xcode"),
fs = require("fs"),
projectPath = "myproject.xcodeproj/project.pbxproj",
myProj = xcode.project(projectPath);

// parsing is async, in a different process
myProj.parse(function (err) {
myProj.addHeaderFile("foo.h");
myProj.addSourceFile("foo.m");
myProj.addFramework("FooKit.framework");

fs.writeFileSync(projectPath, myProj.writeSync());
console.log("new project written");
});

处理解析器

如果解析出现问题,您将想要编辑位于 lib/parser/pbxproj.pegjs 下的语法。您可以使用 https://pegjs.org/online 的在线 PEGjs 工具进行测试 - 但结果并不完全一致。

位于 test/parser 目录下的测试将根据语法编译解析器。其他测试将使用预构建的解析器(lib/parser/pbxproj.js)。

编辑语法后重新构建解析器 js 文件,请运行

npm run pegjs

(并确保在提交前在 lib/parser/pbxproj.js 中恢复 Apache 许可证通知)

许可证

Apache V2