iOS: TMS-90809: Deprecated API Usage - UIWebView

Hi there,

After I uploaded new test build to AppStore I got a message:

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

I disabled UIWebView usage in cocos WebView classes, but message is still there.

Any hint?

Thanks,
kds

1 Like

@zhangxm any thoughts on this?

We will use new API ASAP. May be you use other lib that uses WebView too.

Hi, thanks.

I made a global search though all the files and It looks like it is caused also by admob library (https://groups.google.com/forum/#!topic/google-admob-ads-sdk/rHwikMKksl8).

Without admob, disabling cocos UIWebView (for now) should be enough. And yeah, there is no new admob library…

fixed in https://github.com/cocos2d/cocos2d-x/pull/20098

3 Likes

I have the same issue, I think it’s due to AdColony ads… I’m using SDKBOX and Cocos-X 3.16… what’s the best way to fix this? Thanks in advance…

If you are talking about cocos2d-x, then you can

  • remove webview if you don’t use it
  • use new codes as i posted above.

But i don’t have any idea about other libraries that using UIWebView.

1 Like

Yes, I was talking about Cocos2d-x, sorry about the typo.

I don’t use any WebView in my app, that’s why I thought it could be sdkbox ads using it to play the videos… other than that, I have no idea what’s going on…

I’ve integrated the changes from your pull request, and apple has rejected the build again… I’m waiting to get more feedback from them, not sure what else I could do right now :frowning:

Thanks for the help though, I will keep you posted.

Regards.

@yunke If there is a new version of AdColony then you could try to update it by yourself. If there is no new version then you can only remove it from the medation. I don’t see any other solution. Same happens with admob :confused:

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