【问题标题】:How to use Xamarin's IOS Remoting Simulator如何使用 Xamarin IOS 远程模拟器
【发布时间】:2018-08-28 00:33:02
【问题描述】:

显然,适用于 Windows 的新 Xamarin iOS 远程模拟器可在 Windows 上 Visual Studio 的 Xamarin Alpha 通道中使用。

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

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

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

谢谢

【问题讨论】:

    标签: xamarin xamarin.ios


    【解决方案1】:

    iOS Simulator (for Windows)

    预览安装程序:

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

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

    启用远程 iOS 模拟器:

    在启动远程 iOS 模拟器之前,确保 Visual Studio 已至少连接到您的 Mac 一次。

    转到工具 > 选项 > Xamarin > iOS 设置并勾选远程模拟器到 Windows 框:

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

    更新 - 故障排除:

    • 将 Windows 和 Mac 计算机上的 Xamarin 更新到最新的 alpha 版本。

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

    (通过工具\iOS\Mac代理控制台验证)

    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,因此请重新连接。

    注意:确保Remote Simulator to Windows选项已经在重新连接到Mac构建主机之前选中。


    • F5 / 调试 - 开始调试您的 iOS 项目

    • 转到任务管理器,您应该会看到 一个 Xamarin.Simulator 正在运行的进程:


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


    测试日期:

    • Parallels Desktop 11 / 商业版 (11.1.2+) ** Mac 主机/Windows 来宾
    • 物理 Windows 和 Mac 机器

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

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

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

    不要使用 bonjour/Window 共享 Mac 主机名 (XXXX.local),使用分配给仅主机接口/网络适配器的私有 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 规则,发现有问题。

    【讨论】:

    • 如果我在 Mac 上运行 Visual Studio 在 VM 上,它可以工作吗?只有我一无所获
    • @DeanChalk 我不知道这是否是当前受支持的环境,它“应该”是因为该组合是直接受支持的 Mac Host/ Windows Guest... 它未列在问题列表中@developer.xamarin.com/guides/cross-platform/windows/…(只是 AppleWatch 被列为不工作)
    • @DeanChalk 在这里与几位一直在使用 iOS 远程预览的开发人员交谈,他们说要确保您在 Mac 和 Windows(主机和来宾)上更新了 Xamarin
    • 是的,Mac (host) 和 Windows VM (guest) 刚刚在 alpha 通道上完全更新。所以它仍然是一个谜。我正在使用并行专业版进行虚拟化
    • 我也遇到了问题。构建和部署到 Mac 模拟器工作正常。打开远程模拟器。没有什么。 VS 确实变为橙色,但底部的状态栏保持在“正在启动...”我可以正常终止调试。尝试关闭远程,部署应用程序,然后重新启用远程。没运气。查看 .log 和 .svclog 并什么也没看到。否则 Alpha 工作得很好。
    【解决方案2】:

    远程模拟需要企业级

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

    Remoted iOS Simulator requires a Visual Studio Enterprise license
    

    【讨论】:

      【解决方案3】:

      请注意,这是第一个版本,它仍然是一个预览版。如果您有任何问题,请通过我们的论坛 [0] 或任何适合您的方式联系我们。

      如果您拥有刚刚发布的所有内容的 alpha 版本并且它不起作用,我们将需要一份日志文件的副本(在 Visual Studio 和 Mac 上)来诊断问题的根源。论坛或 bugzilla 都是最好的选择。

      [0]https://forums.xamarin.com/categories/visual-studio [1]https://bugzilla.xamarin.com/enter_bug.cgi?product=Windows%20iOS%20Simulator

      【讨论】:

      • 我在答案中添加了一堆注释,也许它会对某人有所帮助。
      【解决方案4】:
      1. 打开模拟器日志查看根本原因。 %LOCALAPPDATA%\Xamarin\Logs
      2. 我的日志显示此错误
        System.Security.Cryptography.CryptographicException:密钥无效 用于指定状态。
      3. 为了解决这个问题,我删除了 %localappdata%\Xamarin\MonoTouch
      4. 断开mac,也算了
      5. 重新连接 Mac
      6. 现在应该可以工作了

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-09-30
        • 2020-07-03
        • 2021-07-06
        • 2017-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多