无法启动Cordova调试到iOS模拟器

时间:2016-02-10 20:21:31

标签: visual-studio-cordova

我已按照以下链接中的说明“在云端构建和模拟Cordova iOS应用”。 https://taco.visualstudio.com/en-us/docs/build_ios_cloud/

完成说明后,我能够构建并使iOS模拟器正常工作,但是,我无法附加调试器。

remotebuild中显示的消息是:

$

在Visual Studio中,我在“调试”窗口中看到以下内容:

GET /cordova/build/5655/debug 500 10.865 ms - 28

我的本​​地开发机器使用的是Visual Studio 2015和Cordova 5.4.1。我在本地安装了Node v0.12.2,并在MacInCloud上安装了v0.12.9。按照上面链接中的说明,我不是Mac计算机上的管理员。

我也已经尝试过这个SO答案中建议的说明:Visual Studio Debugger failing to connect to remote Apache Cordova app in iOS simulator

2 个答案:

答案 0 :(得分:5)

其他人提供的所有建议和链接都很有帮助,但最终我对这个问题的评估并不是Mac上的admin / root。在我的原始问题中链接的Visual Studio Cordova文档表明,您可以在没有管理员/ root访问权限的情况下在Mac上执行所需的所有操作,但根据我的经验情况并非如此。

为了获得MacInCloud小组的称赞,他们非常乐于帮助我进行权限更改以及重新安装包,例如brew,ios-webkit-debug-proxy,remotebuild等...但过了一会儿来回解决问题的方法证明是痛苦的。当我从Managed MacInCloud服务器切换到专用服务器时,一切都立即起作用。

回顾我认为执行brew的remotebuild的初始执行 - 没有管理员 - 导致整个过程向南移动。我第一次运行remotebuild时会收到警告,它会安装一些可能需要root访问权限的brew组件。这对我来说应该是一个警示信号,即不是管理员就是一个问题......

即使我能够让专用的MacInCloud服务器正常工作,但我学会了掌控Mac的教训促使我只买了一台Mac Mini。设置起来有点困难,因为我现在正在做所有事情,但最终我认为它最终会得到回报。

对于那些在类似问题上苦苦挣扎的人来说,这是我在学习过程中学到的一些东西的大脑:

  1. 您不一定需要让Visual Studio与Mac通信以调试Cordova应用程序。您可以使用Mac上的Safari Web Inspector。 https://blog.nraboy.com/2015/10/debugging-your-apache-cordova-ios-app-with-safari/。即使我终于让VS工作了,我实际上更喜欢这个,因为它更像是Chrome的调试器,我更喜欢Visual Studio的。
  2. 其他评论和链接中提到的ios-webkit-debug-proxy NPM软件包基本上是Visual Studio用于调试模拟器的代理,其方式与上面提到的Safari完全相同。要使此代理工作,还必须允许您通过端口9221-9322连接到Mac。 https://github.com/google/ios-webkit-debug-proxy。在了解之前我认为我只需要为远程构建代理打开端口3000 ...
  3. 从remotebuild启动iOS模拟器所需的包是ios-sim,启动模拟器时 偶尔会超时,导致调试器无法附加。这是一个已知的限制。 https://github.com/phonegap/ios-simhttps://blogs.msdn.microsoft.com/visualstudio/2014/11/13/tools-for-apache-cordova-update-ios-debugging-windows-8-1-support/(见评论)。
  4. 如果您觉得需要安装/卸载brew,这很容易。只需运行安装脚本,如果已经安装,它将为您提供有关如何卸载的说明。 http://brew.sh/https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting。卸载或重新安装NPM软件包同样容易,Google也是您的朋友。
  5. 阅读并重新阅读这两个链接以设置Mac:https://taco.visualstudio.com/en-us/docs/ios-guide/https://taco.visualstudio.com/en-us/docs/build_ios_cloud/。正确使用RemoteBuild.config对于获得安全连接至关重要 - 特别是如果您想在家中通过互联网访问Mac Mini。
  6. 如果您正在远程连接Mac,我高度推荐iRAPP或其他一些VNC替代品。我的经验是,当您解决问题时,VNC很难痛苦地缓慢且连接不良会导致更加恶化。 http://www.coderebel.com/products/irapp/
  7. 如上所述,当我请求支持时,MacInCloud的人很棒,但如果你确实需要超过6个月的root访问权限,Mac Mini的成本低于专用服务器计划。
  8. 干杯

答案 1 :(得分:2)

由于/cordova/[...]/debug的调用失败,看起来您可能没有安装ios_webkit_debug_proxy。您可以尝试确保已安装自制程序(来自http://brew.sh)并正在运行brew install ios-webkit-debug-proxy。之后,您应该能够无错误地运行ios_webkit_debug_proxy

如果成功运行,那么您应该可以退出ios_webkit_debug_proxy并且调试应该通过remotebuild工作。