![enter image description here](https://istack.dev59.com/cjnCq.webp)
![在此输入图像描述](https://istack.dev59.com/ke3D9.webp)
![在此输入图像描述](https://istack.dev59.com/dyuab.webp)
![在此输入图像描述](https://istack.dev59.com/2oKNu.webp)
![在此输入图像描述](https://istack.dev59.com/oVjQb.webp)
![输入图像描述](https://istack.dev59.com/waRVD.webp)
然而,这里有一个关键问题。如果我在 Windows 计算机上使用 Mac 上的 iPhone 模拟器运行 Xamarin 应用程序,它可以正常工作!
我需要做什么才能在 Visual Studio for Mac 中运行我的应用程序模拟器?
然而,这里有一个关键问题。如果我在 Windows 计算机上使用 Mac 上的 iPhone 模拟器运行 Xamarin 应用程序,它可以正常工作!
我需要做什么才能在 Visual Studio for Mac 中运行我的应用程序模拟器?
有几个选项值得检查。@WorldOfBasti建议了以下选项:
右键点击解决方案 -> 选项 -> 配置 -> 配置管理器 -> 应该选中 ProjectName.iOS with Debug|iPhoneSimulator,如果配置“ProjectName.iOS with Debug|iPhoneSimulator”不可用,则从“常规”选项卡中添加。
检查Apple SDK路径是否正确设置(偏好设置 -> SDK位置 -> Apple)。它应该有绿色的勾号,带有Xcode版本和SDK路径位置。
将部署目标更改为最低版本(即低于您的模拟器版本)
今天我也遇到了您所面临的相同问题。我将调试切换到发布,iOS切换到Android。然后从顶部设备选择状态栏中的调试返回到iOS。然后模拟器选项出现了。因此,在Visual Studio for Mac中可能存在UI更新问题。请尝试一下。
虽然不是很好,但这对我总是有效的。并且模拟器的启动速度比我从终端执行“xcrun simctl erase all”命令要快得多。
补充说明:大多数情况下,以上方法都有效。但偶尔我仍然需要使用“xcrun simctl erase all”命令从终端清除缓存。
此外:我还发现(虽然可能只是我的想象)清除在“T”文件夹中写入的Visual Studio for Mac临时.binlog文件有时可以解决问题(如果您查看来自Visual Studio for Mac的IDE日志;在“目标模拟设备名称无法添加,因为它已经被缓存”的消息之后,您应该会看到一些.tmp文件被创建。它们被创建的目录就是我所说的“T”文件夹)。在使用“xcrun simctl erase all”命令尝试回到Visual Studio for Mac将看到iOS模拟器设备之前,我有时会删除tmp * .binlog和tmp * .tmp作为最后的努力。
最后: 这似乎真的是Visual Studio for Mac启动时(或者在iOS项目加载期间)的一个bug。我这么说的原因是,只要我能连接到Mac,我总能从Windows的Visual Studio中看到iOS设备列表。此外,我可以让Visual Studio for Mac保持运行状态(即使隐藏),并从Windows上的iOS模拟器测试应用程序,然后将iOS模拟器保持运行状态,在Visual Studio for Mac上运行应用程序。如果真的存在模拟器的“缓存问题”,那么在从Windows使用iOS模拟器后,在Mac上运行任何东西都应该出现问题,但它总是能够正常工作。目前,我只在Mac上工作单个Xamarin项目(我不会在Mac上使用其他任何东西),所以我只需让Visual Studio for Mac“在登录时打开”(Dock设置)并自动“在启动时加载上一个解决方案”(Visual Studio for Mac设置),隐藏Visual Studio for Mac(Dock设置),如果需要,Visual Studio for Mac已经加载并且能够通过单击Dock图标查看iOS设备来运行应用程序。 附录2(最终版?):我现在发现,如果我只是关闭一个显示“通用模拟器”的已打开的解决方案,并在不退出Visual Studio for Mac的情况下重新打开它(有时我必须多次这样做...我想我已经数了5次才终于成功),它将开始显示设备列表,我可以在模拟器中运行iOS应用程序。如果模拟器已经运行,我甚至不必关闭它,这节省了大量时间。对我来说,它仍然感觉像是一个bug,我不明白为什么我要关闭/打开多次解决方案才能列出iOS设备并能够运行iOS应用程序。真正让我困扰的是,如果我重新启动Mac,在不打开模拟器的情况下启动Visual Studio for Mac,然后打开一个解决方案,我仍然需要进行关闭/重新打开解决方案的步骤......有时需要多次。模拟器没有设置为自动启动或类似的东西。但是,至少现在更简单,花费更少的时间就可以运行iOS应用程序了。
如果所有这些都没有用,我建议你重新安装它(如果你有任何重要的项目,请备份):
希望能解决你的问题。