Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] "ITMS-90809: Deprecated API Usage" in Xamarin.Youtube.Player.iOS #812

Open
HealsCodes opened this issue Mar 11, 2020 · 5 comments
Open
Projects

Comments

@HealsCodes
Copy link

After adding the NuGet package for Xamarin.YouTube.Player.iOS to my project and submitting a version to TestFlight I receive the following mail from Apple:

Dear Developer,

We identified one or more issues with a recent delivery for your app, "xxxxxxx" x.x.x (x.x.x.x). Your delivery was successful, but you may wish to correct the following issues in your next delivery:

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs starting from December 2020 . See https://developer.apple.com/documentation/uikit/uiwebview for more information.

After you’ve corrected the issues, you can upload a new binary to App Store Connect.

Best regards,

Taking a quick look over the sources it seems that the YouTube component for iOS is still using / referring to the now long deprecated UIWebView instead of using WKWebView.

NuGet version: Xamarin.YouTube.Player.iOS v0.1.6

@Redth Redth added this to Needs triage in Triage Mar 12, 2020
@gadeweever
Copy link

This issue also seems present in Xamarin.iOS.MaterialComponents.

grep -r "UIWebView" .

Binary file ./iOS/obj/iPhoneSimulator/Debug/mtouch-cache/MaterialComponents.framework/MaterialComponents matches
Binary file ./iOS/bin/iPhone/Release/.../Frameworks/MaterialComponents.framework/MaterialComponents matches
Binary file ./iOS/bin/iPhoneSimulator/Debug/.../Frameworks/MaterialComponents.framework/MaterialComponents matches

@HealsCodes
Copy link
Author

@gadeweever which version does this relate to? I'm also using MaterialComponents (72.2.0.1) and don't get a reference:

./packages/Xamarin.iOS.MaterialComponents.72.2.0.1/lib/Xamarin.iOS$ grep -i UIWebView MaterialComponents.dll
./packages/Xamarin.iOS.MaterialComponents.72.2.0.1/lib/Xamarin.iOS$ strings MaterialComponents.dll | grep -c -i UIWebView 
0

Compared to YouTube.Player.iOS (0.1.6):

./packages/Xamarin.YouTube.Player.iOS.0.1.6/lib/XamariniOS10$ grep UIWebView YouTube.Player.iOS.dll
Binary file YouTube.Player.iOS.dll matches
./packages/Xamarin.YouTube.Player.iOS.0.1.6/lib/XamariniOS10$ strings YouTube.Player.iOS.dll | grep -c UIWebView
117

@gadeweever
Copy link

gadeweever commented Mar 16, 2020

@Shirk This is on 72.2.0.1. Does the grep change if you also run it on your build output folder?

EDIT: According to this: #745 the pre-release package for MaterialComponents should not have this reference. Consider my addition off-topic.

@Rishi2611
Copy link

Rishi2611 commented Oct 21, 2021

@Shirk
Any solution for this I am facing same issue

@HealsCodes
Copy link
Author

Any solution for this I am facing same issue

No, none - ended up writing a wrapper around YouTube's iframe API that exposes the javascript interface as a native class.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Triage
  
Needs triage
Development

No branches or pull requests

3 participants