如何在 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 #3
methothWillPresentNotification
发生错误,你可以检查一下。
【参考方案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 中意味着啥?