Javascript Cordova Build未更新ios平台目录中的index.html
我正在使用: Cordova 5.3.3 Xcode 6.2 使用Cordova教程: 修改运行cordova build ios的index.html的www目录未在ios平台目录中更新 cordova prepare和cordova prepare ios在我更新根目录中的文件时,也不会更新ios的www目录 我搜索并找到了这个解决方案: 哪些参考文献 查找名为copy-www-build-step.sh的文件。 我的文件在[project_folder]/platforms/ios/cordova/lib/copy-www-build-step.sh中 然而,在我的安装中,我有一个javascript文件,而不是shell脚本版本 [project_folder]/platforms/ios/cordova/lib/copy-www-build-step.js 在该文件中:Javascript Cordova Build未更新ios平台目录中的index.html,javascript,ios,xcode,cordova,Javascript,Ios,Xcode,Cordova,我正在使用: Cordova 5.3.3 Xcode 6.2 使用Cordova教程: 修改运行cordova build ios的index.html的www目录未在ios平台目录中更新 cordova prepare和cordova prepare ios在我更新根目录中的文件时,也不会更新ios的www目录 我搜索并找到了这个解决方案: 哪些参考文献 查找名为copy-www-build-step.sh的文件。 我的文件在[project_folder]/platforms/ios/c
var BUILT_PRODUCTS_DIR = process.env.BUILT_PRODUCTS_DIR,
FULL_PRODUCT_NAME = process.env.FULL_PRODUCT_NAME,
COPY_HIDDEN = process.env.COPY_HIDDEN,
PROJECT_FILE_PATH = process.env.PROJECT_FILE_PATH;
var path = require('path'),
fs = require('fs'),
shell = require('shelljs'),
glob = require('glob'),
srcDir = 'www',
dstDir = path.join(BUILT_PRODUCTS_DIR, FULL_PRODUCT_NAME),
dstWwwDir = path.join(dstDir, 'www');
if(!BUILT_PRODUCTS_DIR) {
console.error('The script is meant to be run as an Xcode build step and relies on env variables set by Xcode.');
process.exit(1);
}
try {
fs.statSync(srcDir);
} catch (e) {
console.error('Path does not exist: ' + srcDir);
process.exit(1);
}
// Code signing files must be removed or else there are
// resource signing errors.
shell.rm('-rf', dstWwwDir);
shell.rm('-rf', path.join(dstDir, '_CodeSignature'));
shell.rm('-rf', path.join(dstDir, 'PkgInfo'));
shell.rm('-rf', path.join(dstDir, 'embedded.mobileprovision'));
// Copy www dir recursively
if(!!COPY_HIDDEN) {
shell.mkdir('-p', dstWwwDir);
shell.cp('-r', glob.sync(srcDir + '/**', { dot: true }), dstWwwDir);
} else {
shell.cp('-r', srcDir, dstDir);
}
// Copy the config.xml file.
shell.cp('-f', path.join(path.dirname(PROJECT_FILE_PATH), path.basename(PROJECT_FILE_PATH, '.xcodeproj'), 'config.xml'),
dstDir);
所以它看起来像
shell.cp('-r',srcDir,dstDir)代码>应该在这里进行复制工作。但是,副本在我的实例中不起作用。你知道什么…这不是你希望的答案,但我注意到phonegap构建服务也有同样的问题。有时我只需要多次运行build命令
可能您有一个当前生成用户不允许写入的文件,因为它可能是管理员拥有的。祝您好运正如jcesarmobile所述,Cordova 5.3.3和Node 5.0.0存在问题
当我用自制软件安装node时,我的修复程序是
brew tap homebrew/versions
brew unlink node
brew uninstall node
brew search node (gives the list of available version)
brew install homebrew/versions/node4-lts
此时ios构建是成功的,但正如jcesarmobile指出的那样,Cordova 5.4.0已经发布以解决此问题。我在js文件中添加了一些console.log()
行,但没有看到任何输出,我怀疑由于其他一些配置问题,该文件没有被调用。我还以sudo的身份运行它。我还编辑了复制命令以使用force标志<代码>shell.cp('-rf',srcDir,dstDir)代码>您正在使用节点5吗?tha版本和cordovayes 5.0.0存在一些问题。谢谢你的提示。我会考虑降级。Cordova 5.4.0已经发布,并修复了node 5ha的问题,正如我让node 4.2.2正常工作一样。谢谢你的提示,这确实是个问题。