iOS: TMS-90809: Deprecated API Usage - UIWebView

I’ver sent Apple Developr support an email, and without giving me any feedback, they just approved the build, so I guess it was their mistake maybe???

So it seems the changes from UIWebView to WKWebView are all you need (I’m only using AdColony, no idea what’s going on with AdMob)

Thanks everybody for all the help.

I have received same response from Apple. How can I take these changes in my existing project. Is there a better way than manually merging the changes?

I don’t know if there is better way.

I guess you are worried in case you have an older version of cocos and you manually add code from newer version. In my case, I am using cocos2d-x v3.15.1 and i replaced whole files with new ones from 3.17.x cocos and all game compiled ok. However, i am not using cocos web view yet anywhere in the game, so dont know if its actually running without issues.

I use cocos 2dx 3.17.2.
Today i upload my game in iTunes Connect.
Apple send message:
ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs

how can I remove Webview from cocos2d-x 3.16? Anyone Could tell me about that?

i changed all as you say in pull in this file UIWebViewImpl-ios.mm
but still i am facing this issue
what next step i have to do ? @zhangxm

hi ! Please check your frameworks ex : firebase , facebook ,crasheslytic …

i use sdkbox how can i know which framework use UIVebView

SDKBox Team should update their plugins with latest SDKs to fix this.

1 Like

I am also getting a rejection from Apple. I updated UIWebViewImpl-ios.mm and upgraded skdbox dependencies:

  • facebook
  • admob
  • share

I ran:
grep -r “UIWebView” .
Binary file ./TwitterKit.framework/TwitterKit matches

./TwitterKit.framework/Headers/TWTRTweet.h: * Suitable for loading in a `UIWebView`, `WKWebView` or passing to Safari:

Binary file ./Bolts.framework/Bolts matches

./Bolts.framework/Headers/BFWebViewAppLinkResolver.h: A reference implementation for an App Link resolver that uses a hidden UIWebView

Binary file ./GoogleMobileAds.framework/GoogleMobileAds matches

It didn’t help. How can I figure out the cause?

1 Like

It’s about time to have this fixed once and for all! They need to update the SDKs ASAP! We can’t even test the game through TestFlight because the uploaded binary is rejected!

1 Like

C’mon guys. I desperately need the updates ASAP!

2 Likes

untill when SDKBOX is planning to update to latest sdks for removal of uiwebview? any hint?

1 Like

are waiting for sdkbox to update the sdks?

1 Like

We can only wait for the update.

1 Like

At least let us know when you plan to update !
Facebook, Firebase, AdMob - ok
UnityAds, AdColony - cause the issue.

1 Like

Dose sdkbox::iap inapp use uiwebview?

1 Like

I don’t think so.

1 Like

I was able to submit successfully by doing the following:

  • AdMob: there was a very long thread with google support on getting this fixed and they barely did it on time. See https://groups.google.com/forum/#!msg/google-admob-ads-sdk/QuZMbjIyxn8/jVQNNO5MAAAJ Essentially it’s fixed in AdMob sdk 7.56.0. When I updated sdkbox, the page shows that it pulls in 7.35.1. So I downloaded the latest version myself from google and replaced the frameworks.

  • Share plugin: Twitter appeared to be using it so I actually got rid of the share plugin altogether, it was buggy anyway especially - image sharing didn’t work for me.

  • Facebook: Bolts framework appeared to be using UIWebView. The sdkbox pulls in FB sdk ios: 5.0.1. “Facebook SDK doesn’t depend on Bolts since 5.0 and we removed usage of UIWebView in v5.5.0.” Reference: https://github.com/facebook/facebook-ios-sdk/issues/1035 I simply removed Bolts framework altogether and FB analytics still worked so I’m happy with it - I wasn’t using any other FB features.

With all that, submitted successfully.

2 Likes