Xamarin.forms Xamarin iOS生成错误-本机链接失败(仅限链接框架SDK)

Xamarin.forms Xamarin iOS生成错误-本机链接失败(仅限链接框架SDK),xamarin.forms,xamarin.ios,linker-errors,Xamarin.forms,Xamarin.ios,Linker Errors,Visual studio更新后无法运行Xamarin iOS项目 因为更新的IDE需要最新的Xcode(Xcode 11.4附带的iOS 13.4 SDK) 环境详细信息 操作系统版本:macOS Mojave,OS X 10.14.6 IDE:Mac版本8.5.1(版本42)的Visual Studio社区2019 Xamarin.iOS版本:13.16.0.11(Visual Studio社区) Mac版本:6.16.0.11(Visual Studio社区) Xcode版本13.2

Visual studio更新后无法运行Xamarin iOS项目

因为更新的IDE需要最新的Xcode(Xcode 11.4附带的iOS 13.4 SDK)

环境详细信息

  • 操作系统版本:macOS Mojave,OS X 10.14.6
  • IDE:Mac版本8.5.1(版本42)的Visual Studio社区2019
  • Xamarin.iOS版本:13.16.0.11(Visual Studio社区)
  • Mac版本:6.16.0.11(Visual Studio社区)
  • Xcode版本13.2
我所尝试的

我没有更新Xcode,而是简单地将
链接器行为
更改为
仅链接框架SDK

不走运,我犯了以下错误

Error MT5210: Native linking failed, undefined symbol: ___darwin_check_fd_set_overflow. 
Please verify that all the necessary frameworks have been referenced and native libraries are properly linked in. (MT5210)

Error MT5202: Native linking failed. Please review the build log. (MT5202)

Error: linker command failed with exit code 1 (use -v to see invocation)
参考

是否有任何其他选项可以在不更新Xcode和macOS的情况下解决此问题

任何帮助都将不胜感激


谢谢

最新版本的Visual Studio使用最新版本的Xamarin.iOS,该版本可能无法与较低版本的Xcode一起使用

因此,使用较低的Xamarin.iOS版本可以解决这个问题

原因:最新的visual studio需要最新的Xcode(iOS 13.4 SDK 随Xcode 11.4一起提供)

要解决此问题,请安装最新的
Xcode
或使用较低的
Xamarin.iOS
Version

~/Library/Caches/VisualStudio/[替换为Visual Studio版本]/TempDownload

或者,如果您知道ios先前版本的版本,可以从此处下载(更改版本号以满足您的需要:

如果您使用的是windows,这篇文章可能会为您提供一些关于在何处查找本地缓存的线索:


有关更多详细信息:|

苹果公司最近推出了一款XCode(请参阅和),似乎打破了
-no\u-weak\u-imports
的使用模式。上游Mono似乎已经解决了这一问题但有人想知道,为什么苹果在其系统库中引入了对弱符号的硬依赖,同时还提供了禁用弱符号的选项…

您可以尝试使用较低版本的Xamarin.iOS吗?请您标记我添加的答案,以便我们可以帮助更多有相同问题的人:)。我最近也遇到了同样的问题,无法解决解决它(我不能升级xcode…)。我注意到的是,在构建日志中,它说需要违规符号的文件与调试有关。你瞧,这个项目是在发布模式D下构建和运行的。所以这可能是VS方面的一个bug,也许它会得到修复。你能给出一个正确的答案来帮助更多有同样问题的人吗:)。有没有一个地方可以让我们下载VS或Xamarin.iOS的旧版本?我可以在VS下载页面上返回1版本,但不能再进一步。我们如何降低Xamarin.ios版本检查我的答案。在我的mac上下载并安装Xamarin.ios-13.14.1.39.pkg为我解决了这个问题,尽管我必须重新启动visual studio for windows并与mac重新配对,以使vs4w意识到它已经改变。
 if you are on a mac, you might be able to find the previous installer here: