无法解析引用 'CoreLocation.CLAuthorizationStatus CoreLocation.CLLocationManager::get_AuthorizationStatus() XAMARIN

问题描述

我正在尝试发布我的应用程序以便我可以分发,但是当我尝试构建我的应用程序时,我收到此错误消息。

无法解析引用 'CoreLocation.CLAuthorizationStatus CoreLocation.CLLocationManager::get_AuthorizationStatus()',从方法'System.Void Xamarin.Essentials.Permissions/LocationWhenInUse/ManagerDelegate::DidChangeAuthorization(CoreLocation.CLLocationManager)引用)' 中的“Xamarin.iOS,版本=0.0.0.0,文化=中性,PublicKeyToken=84e04ff9cfb79065”。 (MT2101)

当我处于调试模式时一切正常。我可以在我的手机和模拟器上进行测试,但是当我认为我可以发布时,我遇到了上面的错误。我在文档中读到,当有人试图请求访问位置信息时,就会发生这种情况。但是,我认为我要求的唯一一件事是当前的 UTC 时间和 dateTime.Now 对于本地时间,我认为这与设备/用户的位置没有任何关系。 这是我从上一个版本中唯一更改的主要内容,并且我更新了一些 nugget 包。我上次尝试发布时遇到了问题,这里有人能够帮助我解决问题,这是一个与另一个包产生冲突的金块包。我想认为这是我的 Xamarin.Essentials 金块,但我不确定。有没有其他人看到这个?我看到有些人向 Xamarin 论坛寻求帮助,但他们解释的解决方案对我没有帮助。

他们说要做以下事情。

Updatring
pool: vmImage: 'macOS-latest'

and removing

- script: sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 6_8_0

解决方法

我在这个 thread 中发现了同样的问题:

这应该在 #1606

中修复

解决方案正在使用最新的 Xamarin.Essentials/1.6.1-preview1

如果无法切换到预览版,则必须在代理上安装最新版本的 Xamarin.iOS。