iOS Testflight Upload: ITMS-90809: Deprecated API Usage

Hi,
Got this email this morning after uploading my latest build to test flight:

"We identified one or more issues with a recent delivery for your app. 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 . See https://developer.apple.com/documentation/uikit/uiwebview for more information."

Any ideas?

We’re aware that UIWebView is deprecated and it’s on our backlog to replace it with WKWebView, but this might bump up the priority a bit… For the time being if you aren’t using the WebBrowserComponent in your app can you disable the JUCE_WEB_BROWSER flag in juce_gui_extra and see if that fixes the issue?

Hi,

I have the same issue and my app actually uses the WebBrowserComponent (I also can’t find that JUCE_WEB_BROWSER flag in juce_gui_basics?)

Any news on this or can you give us a rough timeframe when this might get tackled?

That’s because that flag is in juce_gui_extra. A web browser is definitely not basic :smile:

Whoops. I’ve edited my post above now to correct that, thanks @McMartin! We’re looking into adding WKWebView support, but I can’t give a more accurate timeline than “soon” - sorry!

Just wanting to check back if there is any news on this.
I’m close to releasing an app that uses several WebBrowserComponents to display web content. This deprecation message really makes me nervous, in that Apple might just stop accepting these builds close to my release or shortly after, making updates impossible until this is fixed.

Hi, I can’t remember what I did but it has been working fine for me without disabling the flag (JUCE 5.4.4). I haven’t updated to 5.4.5 as I have changed a lot of the Juce code to do with bluetooth devices, I haven’t changed anything else. Sorry I can’t be of any more use!

I just uploaded a build done with 5.4.5 and the issue persists, unfortunately.

//offtopic, but:
My iOS juce codebase is also modified for Bluetooth stuff, let me guess, high quality audio over bluetooth? :wink:
i do that juce modification stuff on my own fork of the juce repo and then always merge my changes with the updates, never had a problem with that approach and can always keep up2date, while keeping my mods intact

I have just updated to 5.4.5 and have this issue again.

High quality audio, ignoring bluetooth input to force it to use the internal mic. Also have some stuff to make popupmenu’s actually function properly!

1 Like

Haha that’s exactly why my ios Juce codebase is modified :sweat_smile: Took me ages to figure out which line to comment out to achieve that. this should just be an AudioDeviceManager option

B2T: I ditched all parts using the WebBrowserComp at this point and just pull files from the server and arrange them in a juce component… It’s not as nice as it would’ve been with WBC but at least it’s not giving me deprecation messages anymore.

As of today, Apple now says:

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

Any progress on having WebBrowserComponent use WKWebView yet?

1 Like

Are you actually using the WebBrowserComponent? I just ditched it in my projects that were using it. If you’re not using it you can just disable it in the juce_gui_extra module settings in Projucer and the AppStore deprecation message goes away.

1 Like

Unfortunately, yes, we still have to use it.

I went ahead and updated my juce code to use the WKWebView class today, which was actually really straightforward. It took me longer to figure out what other dependencies used UIWebView and update them (Firebase and Google Sign-in).

2 Likes

This has been added to the juce6 preview branch:

1 Like