【问题标题】:Can't run MonoTouch App无法运行 MonoTouch 应用程序
【发布时间】:2023-03-07 20:36:01
【问题描述】:

这不是一个真正的编程问题,但请耐心等待,因为它与我们用于开发的 IDE 有关,我真的被卡住了! :(

alt text http://www.balexandre.com/temp/2010-04-06_0926.png

每次我创建一个项目(可以是一个空项目)时,我都会在按运行或调试时收到上面的消息。

没有运行 Web 服务器Web 共享已关闭,Zend 服务器以及 MAMP 也已关闭,应用程序本身什么都不做,因为它是一个空白项目,如果我在 iPhone/iPad 模拟器上运行它,应用程序只是自动打开和关闭 :-/

我是 monoTouch 的新手,但我想知道,有没有人遇到这个问题并且知道我该怎么办?

  • 运行 OSX 10.6.3
  • iPhone SDK 3.2
  • MonoDevelop 2.2.2
  • MonoTouch 评估 2.0.1

感谢大家的帮助。


回答史蒂文的问题

mac-bruno:~ balexandre$ lsof -i | grep LISTEN
AppleVNCS  536 balexandre    8u  IPv6 0x075cd460      0t0  TCP *:vnc-server (LISTEN)
Dropbox    577 balexandre   18u  IPv4 0x09f86b1c      0t0  TCP *:17500 (LISTEN)
Dropbox    577 balexandre   20u  IPv4 0x09f846b0      0t0  TCP practivate.adobe.com:26164 (LISTEN)
synergys   592 balexandre    5u  IPv4 0x075ce274      0t0  TCP *:24800 (LISTEN)
JavaAppli  815 balexandre   33u  IPv6 0x0f8b3bb0      0t0  TCP [::127.0.0.1]:6880 (LISTEN)
JavaAppli  815 balexandre   45u  IPv6 0x075cc350      0t0  TCP *:39582 (LISTEN)
JavaAppli  815 balexandre   48u  IPv6 0x0f8b3460      0t0  TCP *:41688 (LISTEN)
JavaAppli  815 balexandre   51u  IPv6 0x0f8b3940      0t0  TCP [::127.0.0.1]:45100 (LISTEN)
JavaAppli  815 balexandre  108u  IPv6 0x0f911d10      0t0  TCP *:58573 (LISTEN)
mac-bruno:~ balexandre$ 

【问题讨论】:

  • 如果您在计算机上导航到“localhost”会发生什么?没有任何服务器响应?
  • 没有服务器在运行 :) “Safari 无法打开页面“localhost”,因为 Safari 无法连接到服务器“localhost”。”,即使在我最常用的端口中,4567 (Sinatra)、10081 (Zend)、8080 (Mamp)

标签: iphone project xamarin.ios monodevelop


【解决方案1】:

显然有东西正在监听端口,我认为默认情况下它使用 10000,尽管我的 Mac 没有进行检查。如果您启动终端并运行:

lsof -i | grep 听

它应该向您显示正在侦听连接的所有进程,希望这将为您指明导致冲突的正确方向。

编辑:来自MonoTouch Troubleshooting page

调试器无法连接 设备

当您开始调试设备时 配置,你会看到 调试器显示一个对话框,指示 它正在侦听特定的 IP 地址。这个IP地址也是建的 默认进入应用程序 环境。当你开始 在调试模式下的应用程序,它使 连接到 MonoDevelop, 调试器主机。如果无法 连接,设备将振动一次。

有几个原因 应用程序可能无法连接 到调试器:

如果设备和调试器主机 在不同的网络上,防火墙 或专用网络可能会阻止 应用程序从连接到 调试器主机。

MonoDevelop 可能选择了错误的主机 IP地址。 MonoDevelop 选择 机器上的第一个 IP 地址, 其中,如果您有多个网络 接口,可能不是你的那个 想。您可以覆盖该 IP MonoDevelop 通过退出使用 MonoDevelop 和编辑它的设置 文件。这是在一个隐藏目录中 在您的主目录中, ~/.config/MonoDevelop/MonoDevelopProperties.xml。

寻找钥匙 “MonoTouch.Debugger.HostIP”,然后编辑 价值。如果它不存在,你 需要添加它:

查看普通版? w.x.y.z 在哪里 您要使用的 IP。

调试器主机的 IP 地址可能 已经变化。 MonoDevelop 必须嵌入 主机的IP地址在 应用程序的默认设置,以便 它知道要连接到哪个地址。 如果在你之后主机的 IP 发生了变化 构建应用程序,您需要重新构建和 重新上传应用程序,或更改IP 应用程序设置中的地址条目 设备。

【讨论】:

  • 从这篇文章 (tirania.org/blog/archive/2009/Nov-04.html) 中可以看出 10000 和 10001 都用于调试,但我没有指出该端口 :-( ...搜索更改该端口的位置!
  • 我在 monotouch irc 频道上询问过,但还没有人真正醒来。我在 MonoDevelop 中看不到任何更改它的选项,但您可以在 iPhone/sim 本身上更改它,因此必须可以在开发机器上进行更改。
  • 只是另一个想法.. 你没有运行任何软件防火墙或类似 LittleSnitch 的东西吗?
  • 我认为故障排除是针对iPhone设备上的调试,而不是模拟器,对吧?不,没有防火墙,没有安装防病毒软件:)
  • 我认为两者的工作方式相同,他们都坐下来等待该端口上的连接。
猜你喜欢
  • 2011-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
  • 2017-01-12
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多