Visual studio cordova Can';t启动Cordova对iOS模拟器的调试

Visual studio cordova Can';t启动Cordova对iOS模拟器的调试,visual-studio-cordova,Visual Studio Cordova,我按照下面链接中的说明“在云中构建并模拟Cordova iOS应用程序” 完成指令后,我能够构建并使iOS模拟器工作,但是,我无法附加调试器 remotebuild中显示的消息是: GET /cordova/build/5655/debug 500 10.865 ms - 28 在Visual Studio中,我在调试窗口中看到以下内容: Starting launch process C:\Program Files (x86)\nodejs\node.exe "(redacted)\nod

我按照下面链接中的说明“在云中构建并模拟Cordova iOS应用程序”

完成指令后,我能够构建并使iOS模拟器工作,但是,我无法附加调试器

remotebuild中显示的消息是:

GET /cordova/build/5655/debug 500 10.865 ms - 28
在Visual Studio中,我在调试窗口中看到以下内容:

Starting launch process C:\Program Files (x86)\nodejs\node.exe "(redacted)\node_modules\vs-tac\emulator.js" --platform ios --action launch --path "(redacted)\buildInfo.json" --serverUrl https://(redacted):3000/cordova --certificateName (redacted) --language en-US --loglevel info  --cliVersion 5.4.1 --npmInstallDir "(redacted)"  --deployTarget "iPhone 5"
Timed out connecting debugger to remote Apache Cordova app. See Output window for JavaScript console output.
------ Cordova tools 5.4.1 already installed.
Requesting emulate on iOS Simulator for buildNumber 5655 on server https://(redacted):3000/cordova...
Emulated - Successfully sent to ios Simulator
------ Cordova tools 5.4.1 already installed.
Requesting debug on remote iOS device for buildNumber 5655 on server https://(redacted):3000/cordova...
Failed to Debug iOS remote for build (redacted)\buildInfo.json to https://(redacted):3000/cordova :
iPhone 5
我的本地开发机器使用Visual Studio 2015和Cordova 5.4.1。我在本地安装了节点v0.12.2,在MacInCloud上安装了节点v0.12.9。按照上面链接中的说明,我不是Mac电脑的管理员


我也尝试过这个SO答案中建议的说明:

因为调用
/cordova/[…]/debug
失败,看起来您可能没有安装
ios\u webkit\u debug\u proxy
。您可以尝试确保homebrew已安装(从)并正在运行
brew安装ios webkit调试代理
。之后,您应该能够无错误地运行
ios\u webkit\u debug\u proxy


如果运行成功,那么您应该能够退出ios\u webkit\u debug\u proxy,并且通过remotebuild进行调试。

其他人提供的所有建议和链接都很有帮助,但最终我对问题的评估不是Mac上的admin/root。在我的原始问题中链接的VisualStudioCordova文档建议您可以在Mac上完成所有需要的操作,而无需管理员/root访问权限,但根据我的经验,情况并非如此

要归功于MacInCloud小组,他们在更改我请求的权限以及重新安装brew、ios webkit debug proxy、remotebuild等软件包方面非常有帮助。。。但过了一段时间,这种来回的解决问题的方法证明是痛苦的。当我从一台托管的MacInCloud服务器切换到一台专用的服务器时,一切都几乎立即正常工作

回过头来看,我认为remotebuild的最初执行导致了整个过程的失败。remotebuild执行brew,而不是管理。当我第一次运行remotebuild时,有人警告我,它将安装一些可能需要root访问的brew组件。这对我来说应该是一个警告信号,不在盒子上做管理员将是一个问题

尽管我能让一台专用的MacInCloud服务器工作,但我学到的关于控制Mac的教训促使我只买了一台MacMini。这是一个有点难设置,因为我现在做的一切自己,但最终我认为它会得到回报

对于其他与类似问题作斗争的人,这里是我一路上学到的一些东西的大脑转储:

  • 您不一定需要让Visual Studio与Mac对话来调试Cordova应用程序。您可以使用Mac上的Safari Web Inspector。尽管我终于让VS工作起来了,但实际上我更喜欢它,因为它更像Chrome的调试器,而我更喜欢Visual Studio的调试器
  • 其他注释和链接中提到的ios webkit debug proxy NPM包基本上是一个代理,Visual Studio使用它来调试模拟器,其方式与上述Safari完全相同。要使此代理正常工作,还必须允许您通过端口9221-9322连接到Mac。在了解到我认为我只需要为remotebuild代理打开端口3000之前
  • 从remotebuild启动iOS模拟器所需的软件包是iOS sim,在启动模拟器时,它偶尔会超时,并导致调试器无法连接。这是一个已知的限制。和(见评论)
  • 如果您觉得有必要安装/卸载brew,这是非常容易的。只需运行安装脚本,如果已经安装,它将为您提供有关如何卸载的说明。和。卸载或重新安装NPM软件包同样容易,谷歌是你的朋友
  • 阅读并重新阅读这两个链接以设置Mac:和。正确使用RemoteBuild.config对于确保安全连接正常工作至关重要——特别是如果您想在家中通过internet访问Mac Mini
  • 如果你要远程访问Mac,我强烈推荐iRAPP或其他VNC替代品。我的经验是,VNC速度非常慢,当您对问题进行故障排除时,连接不好只会导致更严重的问题
  • 如上所述,当我请求支持时,MacInCloud的家伙们非常棒,但是如果您确实需要root访问六个月以上,那么MacMini的成本比专用服务器计划要低

  • 干杯

    这里是另一篇最近的帖子,其中有一些你可以尝试的步骤:谢谢你的建议。我严格按照说明进行操作,但错误信息是相同的。嗨,Jacob-我在微软的Apache Cordova团队工作。现在,我们正在研究使开发人员更容易从VS中的远程构建错误中恢复的方法。我希望与像您这样遇到远程构建问题并联系社区进行故障排除的人聊天。客户反馈是我们做出产品设计决策的首要方式,因此,如果您能在本周或下周抽出时间打20分钟的电话,谈谈您如何理解和克服构建问题,我将不胜感激。jomatthi[at]微软[dot]com