如何在 Xamarin 中修复 dsymutil

Posted

技术标签:

【中文标题】如何在 Xamarin 中修复 dsymutil【英文标题】:How to fix dsymutil in Xamarin 【发布时间】:2020-06-12 07:10:01 【问题描述】:

我正在尝试在真实设备上构建 ios 应用程序,但不幸的是我遇到了

dsymutil exited with code 1

我做过的事情:

我搜索了谷歌,但它说我的硬盘已满,这不是 案例。

我确实尝试过多次清理和构建 - 没有成功

我确实尝试使用命令 xcode-select --install 重新安装 CommandTools - 没有成功

我确实删除了 CommandTools,然后重新安装 - 没有成功

仅供参考

我使用的是 Xcode 11.4 Beta 2

我在 Xcode 上使用我的 Apple 帐户登录

这个问题是什么原因造成的?

您想询问任何其他信息。

谢谢

构建日志:

  CIS.iOS -> D:\VS Projects\CIS\CIS\CIS\CIS.iOS\bin\iPhone\Debug\CIS.iOS.exe

  Detected signing identity:

    Code Signing Key: "#####"
 (7ECA06BC28377204C91D2E63E69C233982161B28)

    Provisioning Profile: "Development" (5aa7573d-6dc8-43e4-9bb0-c65efc5a361a)

    Bundle Id: com.#####

    App Id: 37M96SGRTW.com.#####

  /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin/mtouch @/Users/zilon/Library/Caches/Xamarin/mtbs/builds/CIS.iOS/0e17d2ede92713351eb68ac0146dd15c/obj/iPhone/Debug/response-file.rsp --gcc_flags=-ObjC 

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(842,3): warning MT4174: Unable to locate the block to delegate conversion method for the method CIS.iOS.AppDelegate.WillPresentNotification's parameter #3.

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil -t 4 -z -o bin/iPhone/Debug/CIS.iOS.app/../Protobuf.framework.dSYM bin/iPhone/Debug/CIS.iOS.app/Frameworks/Protobuf.framework/Protobuf 

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(963,3): error MSB6006: "dsymutil" exited with code 1.

【问题讨论】:

这样的错误可能会更多,你能告诉我们构建日志中失败的部分吗? 您好,以前可以吗?最好不要使用 beta 版本的 xcode 来测试 xamarin ,在我们不知道的地方会有冲突。 我正在使用 beta 版本,因为当前版本是 11.3.1(稳定版),但它不支持我的 iOS 设备,它是 13.4,只有 11.4.2 beta 支持它 @Cheesebaron 我已经添加了构建日志做检查 @NoobCoder 在以前的版本中是否可以使用,不建议使用 beta 版本进行测试。顺便说一下,错误显示Unable to locate the block to delegate conversion method for the method CIS.iOS.AppDelegate.WillPresentNotification's parameter #3methothWillPresentNotification发生错误,你可以检查一下。 【参考方案1】:

我们现在已经解决了这个问题。我们所做的只是将 Xamarin.iOS、Mono Framework MDK 和 Visual Studio for Mac 更新到最新版本。

只需转到 Visual Studio → 检查更新,然后全部更新。

来源:xamarin_forums

【讨论】:

【参考方案2】:

这个讨论很有帮助。我还必须确保我的 VS for Mac 更新已全部安装。一旦它们是,一切都需要恰到好处地对齐,它起作用了。

【讨论】:

【参考方案3】:

检查 Xamarin.ios 版本,我的与 Visual Studio Mac 不兼容

我在连接到 Mac 的 windows 机器上调试时更改了它,VS windows 说如果我想下载兼容版本,点击是,它下载并安装在 Mac 电脑上

在那之后,我无法在物理设备上调试

在差点放弃之后,VS Mac 上突然出现“Xamarin.ios 更新已准备好,点击安装更新”

之后我没有错误

【讨论】:

【参考方案4】:

这个错误有点像拔毛器。

这就是我的做法

首先我卸载了所有的 XCODE

我在 *** 上关注了这个 article

之后我从article 下载了 Apple 的 Xcode

同时下载该版本的命令行工具。之后它工作了,现在我没有收到任何错误。

请记住,命令行工具版本也应该匹配。 11.4.2 不适用于 11.3.1。我对此进行了测试,浪费了很多时间。

【讨论】:

以上是关于如何在 Xamarin 中修复 dsymutil的主要内容,如果未能解决你的问题,请参考以下文章

如何调试 dsymutil 错误:“Clang 模块预计只有 1 个编译单元。”

如何在 xamarin android 中修复“不允许到 x 的明文 HTTP 流量”

这些 Dsymutil 警告在 XCode 4.5 中意味着啥?

Xamarin 形成如何修复 NavBar

如何修复“无法解决 xamarin android 中“System.Xml”之间的冲突?

VS2019 Xamarin Forms Remote IOS模拟器黑屏 - 如何修复?