VS2017 cordova iOS 构建失败,没有错误代码

VS2017 cordova iOS build fails with no error code

当尝试使用远程服务器在 Mac 上为 iOS 构建 visual studio 2017 年的 cordova 应用程序时,构建失败且未提供失败原因。

构建是按照中的过程完成的 Visual Studio Tools for Apache Cordova: iOS Guide 在非安全模式下使用远程服务器。

远程服务器、jnode 和 xcode 已在 Mac 上更新。之前使用类似的设置从 VS2015 构建了相同的应用程序。

VS 输出中的最后几项 window 是:

Wrote out iOS Bundle Identifier "com.bytebloc.sked" and iOS Bundle Version "2.1" to /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600/cordovaApp/platforms/ios/#TestApp#/#TestApp#-Info.plist
Set TARGETED_DEVICE_FAMILY to "1,2".
iOS Product Name has not changed (still "#TestApp#")
Updating icons at platforms/ios/#TestApp#/Images.xcassets/AppIcon.appiconset/
Updating splash screens at platforms/ios/#TestApp#/Images.xcassets/LaunchImage.launchimage/
Prepared iOS project successfully
Executing script found in config.xml for hook "after_prepare": hooks/xcode8.js
Checking config.xml for saved plugins that haven't been added to the project
Saving ios@4.2.0 into platforms.json
No scripts found for hook "after_platform_add".
Failed to build app for buildNumber 600:

远程服务器 window 显示以下条目:

taco-remote-multiplexer downloaded and installed.
Error: ENOENT: no such file or directory, open '/Users/ccs/.taco_home/node_modules/taco-remote-multiplexer/latest/node_modules/taco-remote-multiplexer/tacoRemoteMultiplexer.js'
Build will be executed under: /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600
Saving build request payload to : /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600
Saved uploaded build to /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600/upload_600.tgz
POST /cordova/build/tasks?command=build&vcordova=6.3.1&cfg=release&options=--device 202 1348.564 ms - 629
GET /cordova/build/tasks/600 200 0.970 ms - 629
Extracted app contents from uploaded build request to /Users/ccs/.taco_home/remote-builds/taco-remote/builds/600/cordovaApp. Requesting build.
Taking 600 as current build
GET /cordova/build/tasks/600 200 1.428 ms - 687
Done with current build. Checking for next build in queue.

根据 this discussion,ENOENT 错误似乎不是问题的根源。

此外,运行 文件 build.xcconfig 用于直接在目录 /cordovaApp/platforms/ios/build 的 Mac 上构建,导致应用程序被成功编译和构建。

可能是什么问题?

只是想坚持认为这很重要:

在 windows 安装最新版本:npm install -g cordova 配置 VS 以使用 cordova 7.0.0(在 config.xml 上,在平台选项卡中。如果您没有看到它,只需将 taco.json 更改为 7.0.0) 在 mac 上安装最新的 cordova:npm install -g cordova 在 mac 上安装 ios-deploy 的最新版本:npm install ios-deploy 删除文件夹 ~/.taco-home/node_modules/ 在 mac 上安装最新的 remotebuild:npm install remotebuild(应该是 2.1.3)。

在我的 mac 上更新 cordova 解决了我的问题。