10

Not able to run Xamarin iOS project after Visual studio update.

Because updated IDE requires the latest Xcode (iOS 13.4 SDK shipped with Xcode 11.4)

Environment Details

  • OS Version : macOS Mojave, OS X 10.14.6
  • IDE : Visual Studio Community 2019 for Mac Version 8.5.1 (build 42)
  • Xamarin.iOS Version: 13.16.0.11 (Visual Studio Community)
  • Xamarin.Mac Version: 6.16.0.11 (Visual Studio Community)
  • Xcode Version 13.2

What I tried.

Instead of updating the Xcode, I simply changed the Linker Behaviour to Link Framework SDKs Only.

No luck, I got the following errors.

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)

Reference.

Is there any other option to resolve the issue without update the Xcode and macOS?

Any help will be really appreciated.

Thank you

4

3 回答 3

5

原因:最新的 Visual Studio 需要最新的 Xcode(Xcode 11.4 附带的 iOS 13.4 SDK)

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

 if you are on a mac, you might be able to find the previous installer here:

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

或者,如果您知道之前版本 ios 的版本,您可以从这里下载(更改版本号以适应您的需要:

https://dl.xamarin.com/MonoTouch/Mac/xamarin.ios-13.14.1.39.pkg

Xamarin/xamarin-macios Releases,其中包含每个版本

如果您使用的是 Windows,这篇文章可能会为您提供一些关于在哪里可以找到本地缓存的线索:https ://montemagno.com/cleanup-up-space-xamarin-dev-machine/

更多详情:Ans-1 | Ans-2

于 2020-04-16T10:29:35.783 回答
4

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

所以使用较低的 Xamarin.iOS 版本可以解决这个问题。

于 2020-04-08T05:41:55.677 回答
0

看起来 Apple 已经破坏了-no_weak_imports对最近 XCode 的使用(参见https://github.com/mono/mono/issues/19393#issuecomment-606852342https://github.com/mono/mono/issues/19393#问题评论 607126761)。上游 Mono 似乎已经解决了https://github.com/dotnet/runtime/pull/36436的问题),但有人想知道为什么 Apple 在其系统库中引入了对弱符号的硬依赖,同时仍提供禁用选项弱符号...

于 2020-07-03T07:02:33.167 回答