更新到 Xcode 11.3.1 后,在 Xamarin Forms iOS 项目中出现错误 "Failed to resolve AuthenticationServices.IASAuthorizationControllerDelegate"

After update to Xcode 11.3.1, getting error "Failed to resolve AuthenticationServices.IASAuthorizationControllerDelegate" in Xamarin Forms iOS project

我的 Xamarin Forms 应用程序(基于 Windows 10 使用 Visual Studio 2017,连接到远程 Mac 运行 Mojave)构建良好并发布到Android 和 iOS 存储数年。

然而,在将我的遥控器 Mac 的 Xcode 安装更新到 11.3.1 之后(为了遵守 Apple 对应用程序发布的最新强制执行),我突然遇到神秘的构建错误:

Failed to resolve "AuthenticationServices.IASAuthorizationControllerDelegate" reference from "Xamarin.iOS, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065"

我读过关于此的类似问题,但它们与我的设置无关,并且在为此花了一整天后我找不到解决方案 - 所以我很困惑;不能再建立在 iOS 上。有没有人有什么可以阐明这个错误的?

如果您更新了 XCode,通常您也需要更新您的 Visual-Studio。

新的 XCode 使用新的 iOS sdk,您需要更新您的 visual-studio 才能使用新的 Xamarin.iOS sdk。

您也可以尝试将 Linker Behavior 设置为 Link SDK assemblies only

我建议您使用 Visual Studio 2019 而不是 Visaul-Studio 2017。

在与 Microsoft 和 Apple 支持人员进行长时间对话后,需要多个步骤才能解决此问题:

  • 使用最新补丁(2020 年 6 月 2 日发布)将 Visual Studio 2017 升级到 Visual Studio 2019。
  • 将远程构建服务器从 Mojave 升级到 Catalina。
  • 将生成服务器上的 Xcode 升级到 11.5。

Microsoft 支持人员的以下引述总结了我遇到的问题: "Building Xamarin iOS applications is not supported with Xcode 11.4, either on VS2017 or VS2019. You must upgrade to Xcode 11.5 (and thus Catalina) to have a bug-free experience with VS2019."