【问题标题】:AzureDevops Build fails due to Xamarin iOS SDK version由于 Xamarin iOS SDK 版本,AzureDevops 构建失败
【发布时间】:2019-08-12 10:15:10
【问题描述】:

我们目前在尝试构建我们的应用程序时遇到了与 AzureDevops 托管的构建服务器有关的问题。

这是我们得到的以下错误:

MTOUCH:错误 MT2101:无法解析引用“System.Void” ObjCRuntime.Runtime::ReleaseBlockOnMainThread(System.IntPtr)', 从方法'System.Void引用 ObjCRuntime.Trampolines/NIDCompletionHandler::Finalize()' 在 'Xamarin.iOS,版本 = 0.0.0.0,文化 = 中性, PublicKeyToken=84e04ff9cfb79065'。 [/Users/vsts/agent/2.155.1/work/4/s/Smartphone/……]

我们已确定这是与构建服务器正在使用的 Xamarin.iOS SDK 版本有关的问题。在 Xamarin.iOS SDK 12.14.0.114 上本地运行时,构建完成正常。

是否可以指定 AzureDevOps 服务器使用的版本?我知道你可以使用类似的东西:

   /bin/bash -c "sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 5_18_1"
   /bin/bash -c "echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'/Applications/Xcode_10.1.app;sudo xcode-select --switch /Applications/Xcode_10.1.app/Contents/Developer"

为了更改 Mono 版本。我们真正需要的是一种选择 iOS SDK 版本的方法。

【问题讨论】:

标签: xamarin xamarin.ios azure-devops


【解决方案1】:

您可以使用Boots 工具安装更新的 iOS SDK 版本。

只需安装它,将步骤添加到您的管道并放入您需要的安装程序 uri。

下载 uri 是 https://dl.xamarin.com/MonoTouch/Mac/xamarin.ios-13.8.2.2.pkg(显然切换到您需要的任何 Xamarin.iOS 版本)。

【讨论】:

    【解决方案2】:

    通过上面的 Bash 脚本 (select-xamarin-sdk.sh) 选择 Mono 版本,您还可以设置相应的 Xamarin.iOS SDK 版本。如果您使用最新的 Mono 版本(撰写本文时为 6.8.0),则同时设置最新的 Xamarin.iOS SDK 版本。

    请参阅James Montemagno's blog entry 了解此内容。

    【讨论】:

      猜你喜欢
      • 2019-08-20
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      相关资源
      最近更新 更多