【问题标题】:Is this ExportRenderer still required in Xamarin Forms 4.4 +Xamarin Forms 4.4 + 中是否仍需要此 ExportRenderer
【发布时间】:2020-02-07 15:18:40
【问题描述】:

我有几个关于 Xamarin 表单中的 WKWebview 的问题

1) 来自https://github.com/xamarin/Xamarin.Forms/pull/3346:

要选择使用 WkWebView,请将以下内容添加到 iOS C# 项目文件的 AssemlyInfo.cs 文件中

[assembly: ExportRenderer(typeof(WebView), typeof(Xamarin.Forms.Platform.iOS.WkWebViewRenderer))]

在 Xamarin Forms 4.4 中是否仍需要使用此程序集?显然 WKWebView 是 XF4.4 中的默认视图,所以没有必要?

2) UIWebView 和 WKWebview 之间是否有任何视觉变化?我将我的应用程序从 XF3.4 更新到 4.4,因为我听说 WebView 发生了变化,但似乎没有任何视觉差异,但 4.4 中有一个奇怪的错误,加载图标不会从中间消失即使我的页面似乎已正确加载,我的屏幕...

谢谢!

【问题讨论】:

    标签: xamarin.forms


    【解决方案1】:

    从最新的document of webView 开始,WKWebView 已经取代了UIWebView,因为Xamarin.forms 4.5

    从 2020 年 4 月开始,Apple 将拒绝仍使用 弃用的 UIWebView API。 虽然 Xamarin.Forms 已切换到 WKWebView 作为默认,还是有对老SDK的引用 在 Xamarin.Forms 二进制文件中。当前的 iOS 链接器行为不 删除它,因此不推荐使用的 UIWebView API 仍将 当您提交到应用程序时,似乎从您的应用程序中引用 商店。

    链接器的预览版可用于解决此问题。到 启用预览,您需要提供额外的参数 --optimize=experimental-xforms-product-type 到链接器。

    这项工作的先决条件是:

    • Xamarin.Forms 4.5 或更高版本 - Xamarin.Forms 的预发布版本 4.5可以用。
    • Xamarin.iOS 13.10.0.17 或更高版本 - 检查您的 Xamarin.iOS 版本 视觉工作室。此版本的 Xamarin.iOS 包含在 Visual Studio for Mac 8.4.1 和 Visual Studio 16.4.3。
    • 删除对 UIWebView 的引用 - 您的代码不应包含任何 对 UIWebView 或任何使用 UIWebView 的类的引用。

    看看this thread 会有所帮助。

    对于您的第一个问题,我认为 Xamarin.forms 4.5+ 不再需要它。

    对于第二个问题,如果您有任何问题,可以在 Xamarin.forms 的 Github 中打开一个问题。

    【讨论】:

    • 嗯,我无法升级到 XF 4.5,因为我们现在正处于 sprint 中,如果我卡在 XF 4.4 中该怎么办?
    • @chung 你在 XF4.4 中有什么问题?
    • 我有一个加载图标,它不会从我的屏幕中间消失。似乎所有内容都已加载,我可以在文本框中输入文本、滚动等,但图标不会消失
    • @chung 你应该打开一个新线程并在那里添加你的代码,然后我们可以更好地帮助你。此外,这可能是由 UIWebView 引起的,正如我在您的另一个问题中回答的那样。如果对您有帮助,您可以标记/赞成这个答案。
    • @JackHua-MSFT,我的 ios 项目中已经有另一个 mtouch 参数,除了现有的之外,我如何添加它无论是空间足够还是我必须使用逗号将它们分开。如果有任何使用 Xamarin.Forms 的第三方包怎么办?
    猜你喜欢
    • 2018-06-17
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    相关资源
    最近更新 更多