Xamarin iOS 构建错误 - 本机链接失败(Link 仅限框架 SDK)
Xamarin iOS build error - Native linking failed (Link Framework SDKs Only)
在 Visual studio 更新后无法 运行 Xamarin iOS 项目。
因为更新 IDE 需要最新的 Xcode(iOS 13.4 SDK 附带 Xcode 11.4)
环境详细信息
- OS 版本:macOS Mojave,OS X 10.14.6
- IDE : Visual Studio 社区 2019 Mac 版本 8.5.1(内部版本 42)
- Xamarin.iOS 版本:13.16.0.11(Visual Studio 社区)
- Xamarin.Mac 版本:6.16.0.11(Visual Studio 社区)
- Xcode 版本 13.2
我试过的.
我没有更新 Xcode,只是将 Linker Behaviour
更改为 Link Framework SDKs Only
。
运气不好,我收到以下错误。
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)
参考.
- mtouch arguments
是否有任何其他选项可以在不更新 Xcode 和 macOS 的情况下解决问题?
任何帮助将不胜感激。
谢谢
最新版本的Visual-Studio使用最新版本的Xamarin.iOS可能无法与低版本的Xcode一起使用。
所以使用较低的 Xamarin.iOS 版本可以解决这个问题。
Cause : Latest visual studio requires latest Xcode (iOS 13.4 SDK
shipped with Xcode 11.4)
To solve the issue install the latest Xcode
or use a lower
Xamarin.iOS
Version
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, which contains every version
如果您在 windows,此 post 可能会为您提供一些关于在哪里可以找到本地缓存的线索:https://montemagno.com/cleanup-up-space-xamarin-dev-machine/
更多详情:Ans-1 |
看起来 Apple 在最近的 XCode 中打破了 -no_weak_imports
的用法(参见 https://github.com/mono/mono/issues/19393#issuecomment-606852342 and https://github.com/mono/mono/issues/19393#issuecomment-607126761 ). Upstream Mono appears to have worked around the issue with https://github.com/dotnet/runtime/pull/36436 ),但有人想知道为什么 Apple 在他们的系统中引入了对弱符号的硬依赖库,同时仍然提供禁用弱符号的选项...
在 Visual studio 更新后无法 运行 Xamarin iOS 项目。
因为更新 IDE 需要最新的 Xcode(iOS 13.4 SDK 附带 Xcode 11.4)
环境详细信息
- OS 版本:macOS Mojave,OS X 10.14.6
- IDE : Visual Studio 社区 2019 Mac 版本 8.5.1(内部版本 42)
- Xamarin.iOS 版本:13.16.0.11(Visual Studio 社区)
- Xamarin.Mac 版本:6.16.0.11(Visual Studio 社区)
- Xcode 版本 13.2
我试过的.
我没有更新 Xcode,只是将 Linker Behaviour
更改为 Link Framework SDKs Only
。
运气不好,我收到以下错误。
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)
参考.
- mtouch arguments
是否有任何其他选项可以在不更新 Xcode 和 macOS 的情况下解决问题?
任何帮助将不胜感激。
谢谢
最新版本的Visual-Studio使用最新版本的Xamarin.iOS可能无法与低版本的Xcode一起使用。
所以使用较低的 Xamarin.iOS 版本可以解决这个问题。
Cause : Latest visual studio requires latest Xcode (iOS 13.4 SDK shipped with Xcode 11.4)
To solve the issue install the latest
Xcode
or use a lowerXamarin.iOS
Version
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, which contains every version
如果您在 windows,此 post 可能会为您提供一些关于在哪里可以找到本地缓存的线索:https://montemagno.com/cleanup-up-space-xamarin-dev-machine/
更多详情:Ans-1 |
看起来 Apple 在最近的 XCode 中打破了 -no_weak_imports
的用法(参见 https://github.com/mono/mono/issues/19393#issuecomment-606852342 and https://github.com/mono/mono/issues/19393#issuecomment-607126761 ). Upstream Mono appears to have worked around the issue with https://github.com/dotnet/runtime/pull/36436 ),但有人想知道为什么 Apple 在他们的系统中引入了对弱符号的硬依赖库,同时仍然提供禁用弱符号的选项...