【问题标题】:Xamarin: error MT1108: Could not find developer tools for this 11.0.3 (15A432) deviceXamarin:错误 MT1108:找不到此 11.0.3 (15A432) 设备的开发人员工具
【发布时间】:2018-02-06 00:55:07
【问题描述】:

将手机升级到 iOS 11.0.3 后,我开始遇到此问题。

现在好像 Visual Studio Community Edition for Mac (v7.2 build 636)

我已经尝试过使用 XCode v9.0 (9A235) 和 v9.0.1 (9A1004)

这是我在 Visual Studio for Mac 的应用程序输出中收到的错误:

“错误 MT1108:找不到此 11.0.3 (15A432) 设备的开发工具。请确保您使用的是兼容的 Xcode 版本,然后将此设备连接到 Xcode 以安装开发支持文件。”

我已验证为 xcode-select 正确设置了路径,因此理论上它应该可以正常工作。我几乎认为 Xamarin 工具链还不支持 iOS v11.0.3

我也试过删除 bin/obj 文件夹无济于事。

是否有人能够确认 Xamarin 工具链与 iOS v11.0.3 兼容,如果可以,是否需要采取任何特殊步骤才能使工具链识别版本?

我可以将我的设备降级到 v11.0.1,但在此之前我想知道工具链是否确实不兼容。

如果我可以提供更多信息,请告诉我。

【问题讨论】:

  • 您是否尝试删除 bin 和 obj 文件夹?
  • 你启动过 XCode 了吗?有时它会提示您接受许可协议,或安装额外的命令行工具
  • 是的,试过删除bin+obj,以及启动Xcode(以及卸载重装低版本...)可惜没有效果。
  • 我也遇到了这个问题。我处于发展停滞状态。我已经启动了 xcode 并确保一切都是最新的,删除了所有 obj/bin 文件并重新启动,并确保我在最新的 Visual Studio (Mac) 上并且所有包都已更新。我在这里不知所措。
  • 您能否从 Visual Studio for Mac 的“关于”菜单中粘贴完整的版本信息(单击“显示详细信息”以获取所有内容)?

标签: xcode xamarin xamarin.ios xcode9


【解决方案1】:

Apple 在发布 Xcode 时为设备提供了一些额外的开发代码(由操作系统加载的额外磁盘映像)。

一般来说,Xcode 会为它在那个时间点支持的所有内容提供它们。这意味着,当更新版本的 iOS Xcode 发布之后发布时,丢失的磁盘映像可能在更新的 Xcode 发布之前不可用(Apple 无法保证磁盘映像的未来兼容性)。

例如对于 Xcode 9.0(我没有安装 9.0.1)

/Applications/Xcode9.app/Contents//Developer/Platforms/iPhoneOS.platform/DeviceSupport/11.0 (15A372)/DeveloperDiskImage.dmg

Xamarin.iOS 尝试根据设备版本加载图像。如果找不到它会报告MT1108 错误。 潜在的 解决方法是重命名(或复制)磁盘映像以匹配您的 iOS 版本号。 YMMV 取决于 Apple 在该 iOS 更新中引入的更改。

请注意,Xamarin.iOS 的大多数功能不需要磁盘映像。最明显的一项是在需要时自动启动设备上的应用程序。

您发现部署工作正常,您可以手动启动应用程序,调试器将连接。我将更新documentation 以包含此信息。

更新

在 iOS 11.0.3 之后没有进一步的 Xcode 9.0.x 版本。然而,下一个 Xcode 版本 (9.1) 包括对所有 11.0.x 版本的支持。

/Applications/Xcode91.app/Contents//Developer/Platforms/iPhoneOS.platform/DeviceSupport/11.0/DeveloperDiskImage.dmg

两张图片的shasum 相同,因此您可以假设 Xcode9.0 中的一张可以重命名/复制而不会出现任何问题。

【讨论】:

    【解决方案2】:

    导航到项目文件夹并删除名为 bin & obj 的文件夹。那应该可以解决问题。

    【讨论】:

    • 很遗憾,这对问题没有影响。
    • 更新:好吧,我一时兴起尝试在错误出现后手动启动应用程序——Viola! -- 正常开始调试。一点也不理想,但至少我现在可以忍受的工作。 @VincilBishop,你能试试这个,看看它是否也适合你?
    • 谢谢@Ethan,是的,确实有效。我几乎要生气并宣布没有调试器的工作是不可接受的,但后来我记得客户端以某种方式破坏了应用程序中的调试器并且断点不起作用......我想这是另一个 SO 问题的主题,LOL
    • 我实际上也能够调试。只需开始调试,当控制台上出现错误时,手动启动应用程序,调试器就会像往常一样附加。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 2019-04-11
    • 2019-05-09
    • 2020-08-13
    • 1970-01-01
    相关资源
    最近更新 更多