xamarin.forms - 仍然收到 ITMS-90809 : Deprecated API Usage after using --optimize=force-rejected-types-removal

标签 xamarin.forms azure-devops xamarin.ios azure-pipelines

在过去的几天里,这一直在杀死我。我已阅读有关此错误的所有内容,并已完成 xamarin 所说的操作,但仍然无法正常工作。

我无法让我的构建通过 azure 管道 xamarin.ios 构建并部署到苹果。

当我在本地构建时,我收到类似的消息

MTOUCH : warning MT1502: One or more reference(s) to type 'UIKit.UIWebView' already exists inside 'Xamarin.Forms.Platform.iOS, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null' before linking

附带一条消息,说明链接后没有引用
当我将 --warn-on-type-ref=UIKit.UIWebView 与优化参数一起使用时。

当我在管道中构建 azure 时,我只看到 MT1502,但链接后什么也没说。由于 ITMS 消息,构建被提交给 Apple 并失败。

我不知道该怎么办。我使用的是最新的 macOS vm 镜像,mono 6.8.0.123,xamarin.ios 13.16.0.13,xcode 11.4.1。管道在 4 月 30 日截止日期之前运行良好,现在无论如何,我无法让链接器剥离 UIWebView。

让我知道还有哪些其他信息会有所帮助。我完全被困在这一点上。

谢谢。

最佳答案

我刚刚让我的构建通过了 Apple 的检查。

最终对我有用的是在本地构建并打包 ipa 文件。在我的 Mac 上,我将 ipa 扩展名更改为 zip 并解压缩。我使用终端转到YOURAPPNAME.app“文件夹”并使用grep -r UIWebView .搜索引用文献。不要忘记 .所以它搜索当前目录。一开始我错过了,并收到一些消息说 grep 正在监听标准输入。

对我来说,这导致了这样的一行:Binary file ./Frameworks/PersonalizedAdConsent.framework/PersonalizedAdConsent matches
现在,需要注意的重要一点是链接器从未警告过这一点,所以我完全没有意识到这一点。就我而言,它是 Firebase/Admob 的一部分。我只落后一个版本,更新到最新版本解决了我的问题。

我还在用--optimize=force-rejected-types-removal --warn-on-type-ref=UIKit.UIWebView -warnaserror:1503作为我的 mtouch args。但是现在可以通过构建。

我希望这有助于为你们指明正确的方向,过去 3 天我一直在尝试获取构建以上传阅读我在网上能找到的关于这个问题的每一篇文章。

关于xamarin.forms - 仍然收到 ITMS-90809 : Deprecated API Usage after using --optimize=force-rejected-types-removal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61567850/

相关文章:

visual-studio - 从 TFS 迁移到 VSTS - 验证许可证类型警告

c# - Task<T> 异步导致 Xamarin.iPhone (MonoTouch) JIT 错误?

xamarin - 如何在iPhone x中设置安全区域布局

ios - 找不到合适的方法来覆盖 RowsInSection xamarin

azure - 将此消息发送到您的机器人时出错 : HTTP status code NotFound error in test in web chat

Xamarin iOS 仅圆角按钮的某些角

xaml - Xamarin.Forms:有没有办法在 xaml 的派生样式中设置默认字体(系列)?

c# - 在 iOS 上引发的 Xamarin.Forms.WebView.Navigating 事件用于内部导航

TFS (web) 在构建 Typescript 时出错。未找到 TypeScript.targets

android - Xamarin 表格 : Write a file in Android device's internal storage