Rocket.chat.reactnative: iOS Deprecated API Usage Warning

Created on 12 Sep 2019  路  18Comments  路  Source: RocketChat/Rocket.Chat.ReactNative

  • Your Rocket.Chat Experimental app version: 1.18.0
  • Your Rocket.Chat server version: 1.3.0
  • Device (or Simulator) you're running with: iOS

While deploying Rocket.Chat.ReactNative Binaries to AppStore we get the following warning:

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.

It seems to be related to this issue: https://github.com/react-native-community/react-native-webview/issues/819

Making changes as per https://github.com/react-native-community/react-native-webview/issues/819#issuecomment-526202980 should fix it.

馃悰 bug

All 18 comments

@devadattas Thanks for opening.
Nice catch! Let me know if you want to help.
Cheers.

Apple will stop accepting submissions of app updates that use UIWebView APIs starting from
December 2020.

Apple will stop accepting submissions of new apps that use UIWebView APIs starting from
April 2020.

It's all about react-native-keyboard-tracking-view which includes UIWebView https://github.com/wix/react-native-keyboard-tracking-view/search?q=uiwebview&unscoped_q=uiwebview

And react-native-keyboard-input includes react-native-keyboard-tracking-view as a dependency https://github.com/wix/react-native-keyboard-input/blob/master/package.json#L37

@nikbelikov Thanks for letting us know.

Also you need to update https://github.com/react-native-community/react-native-device-info. For example, current version 5.5.3 has no any deprecated UIWebView usage. So these two fixes will do all job with API Usage Warning from Apple, I hope.

I've created pull request for https://github.com/wix/react-native-keyboard-tracking-view/pull/32 but it's not viewed yet.

We were waiting for React Native 62 to be released before taking a look at this, which happened last week.
Apple is preventing new apps to be submitted on April.
App updates are still possible until the end of the year.

Apple will stop accepting submissions of app updates that use UIWebView APIs starting from
December 2020.
Apple will stop accepting submissions of new apps that use UIWebView APIs starting from
April 2020.

We're releasing 4.6.0 next week and then we'll update all dependencies asap (possibly this week).
I'm mentioning this because this issue may be solved by just updating everything.
I'll keep you posted.
Thanks.

Thanks for the update, very excited to pull this one down :)

@diegolmello is this resolved ?

@Furqankhanzada I had to prioritise #2059
This issue is the next task on my list.

Hello I have fixed this issue by updating react-native-device-info to version 3.1.4 and then making the necessary changes in code accordingly (check their GitHub repo)
and then applied @nikbelikov patch (thank you btw) for react-native-keyboard-tracking-view and react-native-keyboard-input as shown here https://github.com/wix/react-native-keyboard-tracking-view/pull/32 (in node_modules ofc if you create a patch package please share ;) ) and in ua-parser just changed UIWebView to WKWebView.

@AdemOch I tried your solution but it does not work. can you please provide detailed guidance ?

@Furqankhanzada do a
grep -r "UIWebView" node_modules/*
to know where it is still in your project's modules

@AdemOch i also tried your solution but it didnt worked for me also i did
grep -r "UIWebView" node_modules/*
and there were no UIWebView found in the proijects module but apple still rejects it when im trying to upload it on app store

@efd1006
are you sure it is still because of the UIWebView because it seems that you don't have it in your project anymore!!

thank you for the response.. yes because when i uploaded my binary on app store and the only message in apple email is see was ITMS 90809 which is related to UIWebView deprecation

and im sure that i followed your solution it worked fine on my emulator and theres no more UIWebView word found on my project module or in any part of my project

i wonderwas makes apple reject the app

PS i got the recent version of reactnative rocketchat

I'm not sure tbh maybe you forgot to change the build to the newer one you uploaded!! it happens
Also check what version of react-native-webview you're using and be sure to use a version that doesn't use UIWebView

heres the versions of my suspected packages that uses UIWebView
"react-native-device-info": "^3.1.4"
"react-native-webview": "7.5.1"
"react-native-keyboard-input": "^5.3.1",
"react-native-keyboard-tracking-view": "^5.6.1"

Fixed in #2008

thank you

Was this page helpful?
0 / 5 - 0 ratings