ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted.

Hi, I am using Google Mobile Ads Unity Plugin with mediation in my ios game. However am getting this error from apple - ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability.

The version on Google Mobile Ads Unity Plugin is 5.1.0
And I followed this video on how to upgade the google moble ads to the latest version -

Can someone please tell me what am i missing?
Thanks.

1 Like

Sam in here

Unity 2018.4 - it worked fine last week.

Yesterday I try to upload and get this error message. I do not have Ads in my project. And new build just have new 2D assets

I removed ADS totally from my project and I look for text “UIWebView” in my project and in my build folder. And I did not find any thing.

Unity 2019.2.17f1 - worked fine last week as well.

I’ve been having this issue since the start of the week, as well as - TMS-90078: Missing Push Notification Entitlement.

i’m not using Ads and have double checked the Package Manager to make sure it’s not installed. I am using the Analytics Library version 3.3.5 though, as well as Multiplayer HLAPI, not sure if they use UIWebView.

As for Push notifications, I have removed it from my permissions script and am not using it anywhere else in my app, but I do have the Mobile Notificaitions packages installed - version 1.0.3. Should I remove it?

If you are not using it, you should.

I try to run

grep -r “UIWebView” .
in my build project and got
Binary file ./ProjectName/Pods/GVRSDK/Libraries/libGVRSDK.a matches

This project uses Virtual Reality so is this could be a problem?

I removed all my scenes, GVR files, XR in project settings. > Created Hello World scene and I was able to upload the app.
Now the question how do I exclude UIWebView from GVR?

same, just uploaded my app… unity 2019.1 doesn’t appear in iTunes connect as I got that email saying…
“Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn m…”
need to find out what is using UIWebView… any ideas ?
if I figure it out, I’ll post back here…

Same. I’m using 2018.3.14f1 for my project. Do I just need to update to a new Unity version or are there some packages/dependencies I can remove?

Edit:
Actually found an answer in this thread.

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView page-3

This fixed the problem!

i faced the same issue .

Solution :
1.Update Google Admob SDK - Minimum SDK version 5.6.0 required
Update FB Audience Network SDK (if used) download from FB page
Unity ADs (if used ) - Minimum SDK version 3.3.0 required .

according to Email :
All the GMA SDK versions including and after 7.55.0 released on Feb 4th, 2020, default to WKWebview and have removed UIWebView entirely.
To ensure your app complies with App Store’s requirement, we recommend that you:

  1. Update the GMA SDK to the most recent one (minimum version: 7.55.0) and release your app with it at the earliest convenience;
  2. If you are using AdMob mediation or Open Bidding, please review the list below with information on the latest minimum SDK of 3P ad networks that utilize WKWebView and make sure the adapter versions match the SDK version.
2 Likes

I don’t know if you solved this but i think i have worked around it (and i emphasise think haha).

I found the issue for me was in \Pods\GVRSDK\Libraries\libGVRSDK.a via Findstr. It had 3 references to UIWebView and i replaced them with WKWebView using gVim and added WebKit.framework to ‘frameworks and libraries’ in UnityFramework.

The build built successfully to device without issues and uploaded to store and processed fine without warnings, it’s now in review for external testing so fingers crossed it’s all green dots.

2 Likes

I tried options in that other thread… ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView page-3
ads work with 2.0.8 on device build.
switching from ads 2.0.8 to 3.4.5 just made the ads not work in builds.
using grep. didn’t find any references to UIWebView in my Xcode project
modifying Xcode file target UnityAdsUnityWrapper.mm disabled the ads from working
so far no success of both a build, and ads still working. in 2019.1.14f1
ads 3.3.1, no ads or errors on device
looks like 2.0.8 is the only “verified” version for 2019.1.14f1 in the package manager :frowning:

fixed it by dumping old unity, old ads version and my code. updating to 2019.3 with latest unity-ads from package manager, and fresh implementation. works. :slight_smile: but pain to get there.

1 Like

IT IS WORKING !!! Thank you!

To save time for others who are not familiar with this process as I was:

In Vim open \Pods\GVRSDK\Libraries\libGVRSDK.a

Type> :%s/UIWebView/WKWebView/g

Adding Frameworks to Your Xcode Project

  • Select the project file from the project navigator on the left side of the project window.
  • Select the target for where you want to add frameworks in the project settings editor.
  • Select the “Build Phases” tab, and click the small triangle next to “Link Binary With Libraries” to view all of the frameworks in your application.
  • To Add frameworks, click the “+” below the list of frameworks.
  • Select WebKit.framework
4 Likes

@myasovik I tested your update and it works! Thank you.

I tried editing \Pods\GVRSDK\Libraries\libGVRSDK.a but it didn’t work. My project is a google cardboard app using Unity 2019.2.21. I even tried updating to the latest Unity and that didn’t work either.

>grep -r “UIWebView” .

@myasovik Thank you very much for the suggestion to run this command in the Xcode folder that Unity created!

Through that, I was able to discover that it was an old version of the Chartboost plugin that was causing the issue. I also needed to upgrade the Facebook API (and removed old versions of Unity Ads and Unity In-App Purchases, though I don’t know if they were culprits or not, as I removed them before finding your answer).

I tried editing \Pods\GVRSDK\Libraries\libGVRSDK.a file but vim is not editing .a file . it is opening in an encrypted form.
kindly help @myasovik

6008621--647459--vim.PNG

That is correct. Now you can search in this file for “UIWebView” and there should be that actual name without encryption. And to replace it:

  1. Click ESC
  2. Type> :
  3. Paste> %s/UIWebView/WKWebView/g
  4. Click enter

It is possible that you have reference on it in different files so try to run
grep -r “UIWebView”
in your console

1 Like

hi @myasovik i have the exact same problem and after following your suggestion, when i try to build the app, it throws lots of error, something like this for example :

ignoring file /Users/xxxx/Documents/xxx/vrproject/Projects/vr/Builds/iOS/vr-iOS/Pods/GVRSDK/Libraries/libGVRSDK.a, file is universal (4 slices) but does not contain the armv7 architecture:

where did i go wrong? :frowning: