xamarin - 如何使用 Xamarin IOS 远程模拟器

标签 xamarin xamarin.ios

显然,Windows 上的 Visual Studio 的 Xamarin Alpha channel 中提供了适用于 Windows 的新 Xamarin iOS 远程处理模拟器。

然而,似乎没有它会出现的机制。似乎没有按钮或选项可以在 Windows 中显示这个新的 iOS 模拟器。

与此相关的在线文档、视频或论坛答案为零

如果来自 Xamarin 的任何人关注此标签,请您详细说明。

谢谢

最佳答案

iOS Simulator (for Windows)

预览安装程序:

下载预览版安装程序并安装在您的 Windows 计算机上。

http://download.xamarin.com/xamarin-simulator/Xamarin.Simulator.Installer.0.9.0.25.msi

To enable the remoted iOS Simulator:

Make sure Visual Studio has connected to your Mac at least once before starting the remoted iOS Simulator.

Go to Tools > Options > Xamarin > iOS Settings and tick the box for Remote Simulator to Windows:



enter image description here

https://developer.xamarin.com/guides/cross-platform/windows/ios-simulator/

更新 - 故障排除:
  • 将 Windows 和 Mac 计算机上的 Xamarin 更新到最新的 alpha 版本。

    ** VisualStudio 版本的 Xamarin 插件现在应该是 4.2.021+

  • (通过 Tools\iOS\Mac Agent Console 验证)
    gv Broker42021
    Requesting version of client Broker42021...
    Waiting for response...
    Current version of client Broker42021: 4.2.0.21
    

  • 在 Windows 上安装 Xamarin Simulator(通过上面的下载链接)

  • 注意: 这个会安装到C:\Program Files (x86)\Xamarin\Simulator
  • 在 Mac 上,杀死 所有 在 Mac 上运行的 Xamarin 代理:
    ps ax |grep Mono.framework

  • 注意: 当一切正常运行时,您将有五 (5) 个 Mono 进程在运行,其中之一是 Xamarin.Simulator.Server.exe 进程:
    /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /Users/sushi/Library/Caches/Xamarin/XMA/Broker/4.2.0.21/Broker.exe
    /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /Users/sushi/Library/Caches/Xamarin/XMA/Agents/IDB/4.2.0.21/IDB.exe
    /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /Users/sushi/Library/Caches/Xamarin/XMA/Agents/Build/4.2.0.21/Build.exe
    /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /Users/sushi/Library/Caches/Xamarin/XMA/Agents/Designer/4.2.0.21/Designer.exe
    /Library/Frameworks/Mono.framework/Versions/Current/bin/mono /Users/sushi/Library/Caches/Xamarin/Simulator/Server/Xamarin.Simulator.Server.exe
    

    买家当心:
    ps -ax |grep Mono.framework | cut -c 1-5 | xargs kill
    

  • 在 Mac 上,杀死所有当前的 sshd 进程:

  • 注意:这是假设您不是通过 ssh 连接执行此操作;-)

    买家当心:
    ps -ax |grep sshd | cut -c 1-5 | xargs kill
    

    注意:你需要是 root 才能这样做,首先是 sudo su
  • 在 Windows 上,杀死 ALL Xamarin.Simulator 运行任务

  • 注意: 我们有几台 Windows PC 有 数百(!)个 正在运行(?!!)(我们刚刚重新启动了那台机器),但发现大多数无法在 Windows 上运行/查看模拟器这些任务中的 3-5 个正在运行。

  • 由于你杀死了 Mac 机器上的所有代理,Visual Studio/Xamarin 将不再连接到 Mac,因此重新连接。

  • 注意: 确保在 重新连接到 Mac 构建主机之前, 远程模拟器到 Windows 选项已经选中。

  • F5/Debug - 开始调试您的 iOS 项目
  • 翻到任务管理器,你应该会看到一个 Xamarin.Simulator 进程正在运行:

  • enter image description here

  • 一两秒后,该进程的 CPU 使用率出现峰值,它应该出现:

  • enter image description here

    测试:
  • Parallels Desktop 11/商业版 ( 11.1.2+ )
    ** Mac 主机/Windows 客户机
  • 物理 Windows 和 Mac 机器

  • 我在所有部署的 Mac 上使用的 Parallels 设置:

    在 Parallels VM (Windows) 配置中,将第二个网络适配器添加到分配为 Host-Only 的 Windows guest ,并使用该 IP 地址作为 Xamarin 连接的 Mac 主机, 不是 公共(public)、共享或桥接IP 地址。

    在 Windows 中,禁用此仅主机适配器上的防火墙。

    不要使用 bonjour/Window 共享 Mac 主机名 (XXXX.local),使用分配给仅主机接口(interface)/网络适配器的私有(private) IP 地址。添加另一个 Mac 连接并输入 IP 地址,而不是主机名,并且不要使用 Xamarin 自动添加到包含 XXXX.local 主机名的列表中的连接...

    在 Mac 中,如果使用 Little Snitch,请确保您有一个规则,允许从该 Windows 仅主机 IP 地址范围到 launchd 进程的入站连接(/sbin/launchd 是产生 sshd 进程的进程)

    仍然没有启动模拟器?

    检查您的 Mac Console :

    如果您看到以下项目:
    4/30/16 11:18:00.993 AM sshd[59748]: error: connect_to 127.0.0.1 port 52421: failed.
    

    我认为 假设 Little Snitch(或其他基于 Mac 的防火墙)正在阻止 Xamarin 创建的反向安全隧道。我不知道为什么这不会导致所有其他 Xamarin 代理(构建、设计器等)也失败。禁用 Little Snitch 以确认(杀死所有 Xamarin 代理和 sshd 进程并重新开始)。如果远程模拟器正常工作,请查看您的 Little Snitch/firewall 规则,发现有问题。

    关于xamarin - 如何使用 Xamarin IOS 远程模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36895341/

    相关文章:

    android - 无法在 Xamarin 中绑定(bind) Jar 库

    c# - Xamarin表单中页面之间的导航

    ios - 如何知道启动了什么特定通知

    c# - .Net 标准与 PCL Xamarin 项目

    azure - 无法使用 FSharp.Core AOT 程序集

    xamarin - 我应该将代码放在 viewModel 中的按钮单击后面吗?如果是,我该如何绑定(bind)它?

    c# - 如何更改 map 标题 iOS Xamarin 中的字体大小(C#)

    c# - Xamarin Android - VpnService 阻止所有应用程序

    xamarin.forms - Xamarin.iOS 项目 : CS1703: Multiple assemblies with equivalent identity have been imported

    core-data - 在 MonoTouch 中使用 CoreData?