我使用 npm 插件cordova-node-xcode
,它允许您将构建阶段写入生成的 Xcode 项目文件。添加"xcode": "^3.0.1"
到 package.json 中的 devDependencies。
AddBuildScript.js
从 Cordova “after_build” 钩子中调用 .js 脚本config.xml
:
<platform name="ios">
<hook src="AddBuildScript.js" type="after_build" />
脚本AddBuildScript.js
:
var xcode = require('xcode'),
fs = require('fs'),
projectPath = 'platforms/ios/MyProj.xcodeproj/project.pbxproj',
proj = xcode.project(projectPath);
proj.parse(function (err) {
var scriptName = 'My Script';
var buildPhases = proj.getPBXObject('PBXShellScriptBuildPhase');
if (JSON.stringify(buildPhases).match(scriptName)) {
console.log('Xcode project not updated - ' + scriptName + ' already exists')
} else {
var options = {shellPath: '/bin/sh', shellScript: '$PODS_ROOT/ServiceSDK/Frameworks/ServiceCore.framework/prepare-framework'};
proj.addBuildPhase([], 'PBXShellScriptBuildPhase', scriptName, proj.getFirstTarget().uuid, options);
fs.writeFileSync(projectPath, proj.writeSync());
console.log('Xcode project updated - added ' + scriptName);
}
});