使用 xamarin 表单,仍然收到关于 UIWebView 在应用商店中弃用的警告 "ITMS-90809: Deprecated API Usage"

Using xamarin forms, still getting warning for UIWebView deprecation in app store "ITMS-90809: Deprecated API Usage"

我已经删除了所有 UIWebView 引用并现在使用 WKWebView。 我希望有人能帮助我,因为我被困住了。

苹果降价预警仍在 即使在执行上述步骤后仍然存在 https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/.

我的 nugets 已根据文章更新。并从中删除了“obj”和“bin”文件夹 ios 项目只是不使用以前的引用。

我有以下详细信息:

苹果机 OS: macOS-10.15 (卡特琳娜) Visual Studio:8.6.2 Xamarin.iOS: 13.18.2.1 XCode:11.5 Xamarin.Forms:4.8.0.1269 Xamarin.Forms.地图:4.8.0.1269 Xamarin.Essentials:4.5.3.2 Xamarin.Auth: 1.7.0

但它仍然给我

UIKit.UIWebView reference in following dll

One or more reference(s) to type ‘UIKit.UIWebView’ still exists inside ‘Xamarin.Forms.Platform.iOS, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null

One or more reference(s) to type ‘UIKit.UIWebView’ still exists inside ‘Xamarin.Auth, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null

One or more reference(s) to type UIKit.UIWebView still exists inside ‘Xamarin.Forms.Platform.iOS, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null

One or more reference(s) to type ‘UIKit.UIWebView’ still exists inside ‘Xamarin.Auth, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null

在这个阶段,我不知道我错过了什么

这似乎是 iOS 上 Xamarin.forms 的一个现有问题。

  1. 确保版本 Xamarin.Forms 为 4.6 或更高版本并且 Xamarin.iOS 为 13.10.0.17 或更高版本。
  2. 将 Linker Behavior 更改为 SDK Only 或 Link All 然后添加 附加参数:--optimize=experimental-xforms-product-type 请检查所有这些已在发布下设置 配置和 iPhone 平台。

更多细节你可以参考 https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/

如您收到的错误消息中所述,

One or more reference(s) to type ‘UIKit.UIWebView’ still exists inside ‘Xamarin.Auth,

因此,您需要停止使用“Xamarin.Auth”,因为它仍然引用 UIWebView。

还有一个 issue filed in the Github of that nuget. Even though there's a PR already submitted to fix that issue, but they are not going to fix it because Xamarin.Auth is not safe for use. They have made it clear that the library is deprecated, so you have to start using the SecureStorage provided by Xamarin Essentials. They even wrote a migration guide 可以帮助您。

所以,请迁移然后删除那个 Xamarin.Auth 包。确保将软件包更新到最新版本,然后重新提交。

您好,我通过删除 Xamarin Auth 包解决了我的问题。并且还将 mTouch 参数设置为 AppStore/iPhone iOS 构建配置。它现在正在工作。我没有收到苹果的任何警告信息。