微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法从 Visual Studio For Mac 在 iPhone 模拟器中运行 Xamarin 应用程序

如何解决无法从 Visual Studio For Mac 在 iPhone 模拟器中运行 Xamarin 应用程序

简而言之:我无法在 iPhone 模拟器中运行我的应用程序。没有“播放按钮”(三角形),只有一个调试器按钮(锤子):

enter image description here

正如你在上面看到的,我有“通用模拟器”。当我点击它时,没有可供选择的各种 iPhone/iPad 列表:

enter image description here

如果我选择 Android,我可以运行该应用程序:

enter image description here

我已经安装了 XCode。我运行过一次 XCode。 我还安装了命令行工具。

enter image description here

我创建了一个新的 Xamarin Forms 应用程序:

enter image description here

enter image description here

这是我的 iOS 构建选项:

enter image description here

我可以单独运行模拟器:

enter image description here

在 XCode 中创建一个应用程序并在模拟器中运行:

enter image description here

信息.plist:

enter image description here

首选项 -> SDK 位置 -> Apple

enter image description here

构建 -> 配置:

enter image description here

enter image description here

不过,这里是踢球者。如果我使用 Mac 上的 iPhone 模拟器在我的 Windows 机器上运行 Xamarin 应用程序,它就可以工作!

enter image description here

我需要做什么才能在 Simulator vis Visual Studio for Mac 中运行我的应用程序?

解决方法

值得检查的选项很少。 @WorldOfBasti 建议的选项加上以下内容。

  1. 配置

右键单击解决方案 -> 选项 -> 配置 -> 配置管理器 -> ProjectName.iOS with Debug|iPhoneSimulator 应选中,或者如果配置“ProjectName.iOS with Debug|iPhoneSimulator”不可用,则从 General 添加标签

enter image description here

  1. Apple SDK 路径

检查 Apple SDK 路径设置是否正确(首选项 -> SDK 位置 -> Apple)。它应该有带有 Xcode 版本和 SDK 路径位置的绿色勾号。 enter image description here

  1. 最低系统版本(部署目标)

将部署目标更改为最低版本(即低于您的模拟器版本)

  1. 切换调试发布

今天我也遇到了和你一样的问题。我已将调试切换到发布,从 iOS 切换到 Android。然后恢复到 iOS 并从顶部设备选择状态栏进行调试。然后模拟器选项出现。因此,可能是 Visual Studio for mac 中的 UI 更新问题。请试一试。

enter image description here

,

我假设您已经尝试了一些基本操作,例如重新启动 Mac 等。所以这里有一些方法可能会解决您的问题:

  • 检查您的构建配置,here 是一个不错的视频
  • 关闭 VS for Mac,启动 Xcode 并创建一个在模拟器上运行的测试项目。如果它有效,请在 VS for Mac 中重试
  • 关闭 VS for Mac,转到 Xcode -> Preferences -> Accounts 并下载您的开发者帐户的手动配置文件。在 VS for Mac 中重试
  • 清理你的项目:在 VS for Mac 中,转到 Build -> Clean All。然后关闭 VS for Mac,转到您的项目文件夹并删除“yourprojectname”和“yourprojectname”.iOS 中的所有 bin 和 obj 文件夹。再试一次

如果这一切都不起作用,我会尝试重新安装它(如果您有任何重要项目,请进行备份):

  • 卸载 VS for Mac 和 Xcode
  • 从 App Store 重新安装 Xcode
  • 安装 Visual Studio for Mac

希望它有效..

,

查看 Visual Studio for Mac 日志,特别是 IDE 日志,我发现这一行...'无法添加目标模拟设备名称,因为它已经缓存'。

欢迎您通读所有这些内容...但您可能只想阅读附录 2(最终版?),看看它是否适合您...最终结果比我发现的任何其他东西都更简单、更快捷。

所以,起初,我开始使用终端中的“xcrun simctl erase all”命令清除缓存,当我启动 Visual Studio for Mac 时,我可以运行 Xamarin 应用程序,但启动模拟器花了很多时间.

我发现了一些你可能想尝试的作品......

  • 关闭 Mac 上的 iOS 模拟器(如果有)。
  • 关闭连接到 Mac 的所有 Visual Studio 副本......在 Mac 本身或连接到 Mac 的另一台计算机(如果有)上。
  • 启动 Visual Studio for Mac。
  • 如果您无法运行 Xamarin 应用,请关闭 Visual Studio for Mac。
  • 手动启动模拟器(我在 Dock 中有它,所以我只需单击它)...等待它完全启动。
  • 现在关闭模拟器(从模拟器菜单)。
  • 现在重新启动 Visual Studio for Mac。
  • 如果您仍然看不到要在其上运行的模拟器设备...请再次尝试上述步骤(这次您只需关闭 Visual Studio for Mac,然后手动启动模拟器,等待它启动,然后退出模拟器,最后重新启动 Visual Studio for Mac)。

它仍然不是很好,但这(到目前为止)一直对我有用。如果我从终端执行“xcrun simctl erase all”命令,模拟器的启动速度要快得多。

附录:以上大部分时间都有效。但有时我仍然需要使用“xcrun simctl erase all”命令从终端清除缓存。

另外:我还发现(尽管可能只是我的想象)清除写入“T”文件夹中的 Visual Studio for Mac 临时 .binlog 文件有时会 修复该问题(如果您查看 Visual Studio for Mac 中的 IDE 日志;就在“无法添加目标模拟设备名称,因为它已经缓存”消息,您应该看到正在创建一些 .tmp 文件。创建它们的目录是我正在谈论的“T”文件夹)。我有时会删除 tmp*.binlog 和 tmp*.tmp 作为最后的努力,然后再使用“xcrun simctl erase all”命令尝试返回 Visual Studio for Mac 将看到 iOS 模拟器设备的位置。

最后:这真的开始让人感觉像是 Visual Studio for Mac 启动中的一个错误(或者可能是在 iOS 项目加载期间)。我这么说的原因是我总是可以从 Visual Studio for Windows 看到 iOS 设备列表(只要我可以连接到 Mac)。此外,我可以让 Visual Studio for Mac 运行(甚至隐藏)并从 Windows 在 iOS 模拟器上测试应用程序,然后,让 iOS 模拟器在 Mac 上运行,在 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 已经加载并且能够通过快速单击查看 iOS 设备来运行应用程序程序坞图标。

附录 2(最终版?):我现在发现,如果我只是关闭我打开的显示“通用模拟器”的解决方案,然后在不退出 Visual Studio for Mac 的情况下重新打开它(有时我必须多次执行...我想我已经数了 5 次才最终起作用),它将开始显示设备列表,我可以在模拟器中运行 iOS 应用程序。如果模拟器已经在运行,我什至不必关闭它,这样可以节省大量时间。

对我来说仍然感觉像是一个错误,我不明白为什么我必须多次关闭/打开解决方案才能列出 iOS 设备并能够运行 iOS 应用程序。真正让我感到困惑的是,如果我重新启动 Mac,不要打开模拟器并启动 Visual Studio for Mac,然后打开解决方案,我仍然必须完成关闭/重新打开解决方案步骤...有时不止一次。模拟器未设置为自动启动或类似设置。但是,至少,我可以运行 iOS 应用程序变得越来越简单,而且花费的时间也越来越少。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。