Skiasharp: [BUG] Deprecated API UIWebView

Created on 4 May 2020  路  6Comments  路  Source: mono/SkiaSharp

Description

Hello I have found one issue, after I submitted the app on applestore I received an email with this informations:

ITMS-90809: Deprecated API Usage - Apple will no longer accept submissions of new apps that use UIWebView as of _April 30, 2020_ and app updates that use UIWebView as of _December 2020_. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).

Bug Information

Version Number of Plugin: 2.2.1
Device Tested On: iPhone 8
Simulator Tested On: iPhone 8
Version of VS: 8.5.2 (build 13)
Version of Xamarin: 13.16.0.13
Versions of other things you are using:

=== Visual Studio Community 2019 for Mac ===

Version 8.5.2 (build 13)
Installation UUID: c0d4e237-8159-4e2d-83d2-4d5d4b53171e
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac 6.14.1.39 (d16-5 / 30e8706b4)

Package version: 608000123

=== Mono Framework MDK ===

Runtime:
Mono 6.8.0.123 (2019-10/1d0d939dc30) (64-bit)
Package version: 608000123

=== Xamarin Designer ===

Version: 16.5.0.471
Hash: 35aa4889d
Branch: remotes/origin/d16-5
Build date: 2020-02-25 00:52:08 UTC

=== Roslyn (Language Service) ===

3.5.0-beta4-20125-04+1baa0b3063238ed752ad1f0368b1df6b6901373e

=== NuGet ===

Version: 5.4.0.6315

=== .NET Core SDK ===

SDK: /usr/local/share/dotnet/sdk/3.1.200/Sdks
SDK Versions:
3.1.200
3.1.102
3.1.101
3.1.100
3.1.100-preview2-014569
3.0.100
3.0.100-rc1-014190
3.0.100-preview9-014004
3.0.100-preview8-013656
2.2.300
2.2.107
2.2.102
2.1.505
2.1.302
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.8.0/lib/mono/msbuild/Current/bin/Sdks

=== .NET Core Runtime ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
3.1.2
3.1.1
3.1.0
3.1.0-preview2.19525.6
3.0.0
3.0.0-rc1-19456-20
3.0.0-preview9-19423-09
2.2.5
2.2.1
2.1.16
2.1.15
2.1.14
2.1.13
2.1.9
2.1.2

=== Xamarin.Profiler ===

'/Applications/Xamarin Profiler.app' not found

=== Updater ===

Version: 11

=== Apple Developer Tools ===

Xcode 11.4 (16134)
Build 11E146

=== Xamarin.Mac ===

Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.

=== Xamarin.iOS ===

Version: 13.16.0.13 (Visual Studio Community)
Hash: b75deaf82
Branch: d16-5-xcode11.4
Build date: 2020-04-01 21:33:19-0400

=== Xamarin.Android ===

Version: 10.2.0.100 (Visual Studio Community)
Commit: xamarin-android/d16-5/988c811
Android SDK: /Users/leonardo/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
8.1 (API level 27)

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 29.0.6
SDK Build Tools Version: 29.0.2

Build Information:
Mono: c0c5c78
Java.Interop: xamarin/java.interop/d16-5@fc18c54
ProGuard: xamarin/proguard/master@905836d
SQLite: xamarin/sqlite/3.28.0@46204c4
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-5@9f4ed4b

=== Microsoft Mobile OpenJDK ===

Java SDK: /Users/leonardo/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Android SDK Manager ===

Version: 16.5.0.39
Hash: 6fb4c79
Branch: remotes/origin/d16-5
Build date: 2020-04-02 00:16:12 UTC

=== Android Device Manager ===

Version: 16.5.0.71
Hash: 49194e8
Branch: remotes/origin/d16-5~1
Build date: 2020-04-02 00:16:32 UTC

=== Xamarin Inspector ===

Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1

=== Build Information ===

Release ID: 805020013
Git revision: 90b766333e562018f979de04293c097898dafdf4
Build date: 2020-04-02 10:35:07-04
Build branch: release-8.5
Xamarin extensions: 90b766333e562018f979de04293c097898dafdf4

=== Operating System ===

Mac OS X 10.15.3
Darwin 19.3.0 Darwin Kernel Version 19.3.0
Thu Jan 9 20:58:23 PST 2020
root:xnu-6153.81.5~1/RELEASE_X86_64 x86_64

=== Enabled user installed extensions ===

MvvmCross Template pack 2.1.0

Basic Information

  • Version with issue: all
  • IDE: Visual Studio for Mac
  • Platform Target Frameworks: Xamarin

    • iOS: all

Most helpful comment

@Gillibald I think that SkiaSharp have dependency with the UIWebView because in my mobile app I checked all the packages with dependency with UIWebView and I get also libSkiaSharp

All 6 comments

What makes you think SkiaSharp uses a UIWebView? This is more a Xamarin.iOS issues and there is probably something wrong with your configuration. I quick search for UIWebView in the repo yields no result.

Closing this issue as there is no use of UIWebView in skia.

If you are using Xamarin.Forms, then check out the link by @Gillibald. Otherwise check the list of NuGets you have installed and maybe ask on https://gitter.im/xamarin/XamarinComponents for more assistance with specific packages.

@Gillibald I think that SkiaSharp have dependency with the UIWebView because in my mobile app I checked all the packages with dependency with UIWebView and I get also libSkiaSharp

It might have to do with the fact that SkiaSharp.Views.Forms has a dependency to Xamarin.Forms (>= 4.4.0.991757) and thus means they have a dependency to the UIWebView through an older Xamarin.Forms version. Only by using Xamarin.Forms 4.5 or up can you remove this dependency and warning from Apple. Even if your own codebase does not use UIWebView, it does use an older Xamarin.Forms version which does use/reference it.

Quote from Xamarin: "UIWebView can be present in some third party libraries, either managed or native that is used by your application. Start by updating your external dependencies to their latest versions since this situation might already be solved in a newer release. If not, contact the maintainer(s) of the libraries and ask about their update plans."

I'm having the same issue and SkiaSharp.Views.Forms is my only package that doesn't depend on Xamarin.Forms 4.5. I think SkiaSharp needs to update to Xamarin.Forms 4.5 and use the additional mtouch arguments like everyone who has the warning from Apple. Read the Xamarin blog here: https://devblogs.microsoft.com/xamarin/uiwebview-deprecation-xamarin-forms/

The later versions of SkiaSharp re using the newer Xamarin.Forms. However, I can't add any flags at this level as it will change behaviour. Either the Forms team needs to do this, or the end app.

Was this page helpful?
0 / 5 - 0 ratings