software-mansion / react-native-gesture-handler

Declarative API exposing platform native touch and gesture system to React Native.
https://docs.swmansion.com/react-native-gesture-handler/
MIT License
5.85k stars 954 forks source link

ITMS-90809: Deprecated API usage - UIWebView #1008

Closed mdeveracoding closed 3 years ago

mdeveracoding commented 4 years ago

All,

Did a recent push to the Apple store and received the message below:

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

When we do a grep for UIWebView under node modules we see UIWebView in binary files for react-native-gesture-handler. Are there plans to remove UIWebView in react-native-gesture-handler?

Grep results (grep UIWebView -r node_modules/*):

Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/UIKit-1V5UHAPTOD24G.pcm matches

Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/modules.idx matches

Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/records/EJ/UIWebView.h-17DCX353XRLEJ matches

Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/units/UIKit-1V5UHAPTOD24G.pcm-35LZDCPFUDPTH matches

Thanks for any assistance.

antpuleo2586 commented 4 years ago

We have the same issue but Apple gives us a deadline of April 2020...

abgier-avraha commented 4 years ago

This is pretty high priority. Could someone address this soon?

enigmablue commented 4 years ago

Have this issue too the Apr 2020 is new apps right? existing apps have dec 2020 or something

elliscwc commented 4 years ago

Also having this issue, not sure what to do

n-nitchevski commented 4 years ago

Is there any update on this issue?

antpuleo2586 commented 4 years ago

My issue was actually with another library. Anyone using react-native-ux-cam update to the latest version, as this solved the issue for me. See: https://stackoverflow.com/a/60615933/5608321

kimmy-wang commented 4 years ago

Also having this issue, not sure what to do

bpetrified commented 4 years ago

Hi, can anyone confirm if the latest version of this repo is clean from ITMS-90809: Deprecated API usage - UIWebView ?

bpetrified commented 4 years ago

My issue was actually with another library. Anyone using react-native-ux-cam update to the latest version, as this solved the issue for me. See: https://stackoverflow.com/a/60615933/5608321

So the grep result of showing "UIView" related in binary should not trigger ITMS-90809 warning right ?

florismettey commented 4 years ago

I also had Apple ITMS-90809 warning (ITMS-90809: Deprecated API Usage UIWebview). I'm using React Native 0.61.5 and react-native-gesture-handler 1.6.0 When I do grep -r UIWebView node_modules/*, here is the result:

Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/UIKit-1V5UHAPTOD24G.pcm matches Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/modules.idx matches Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/records/EJ/UIWebView.h-17DCX353XRLEJ matches Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/units/UIKit-1V5UHAPTOD24G.pcm-35LZDCPFUDPTH matches

Do you know why there is still references of UIWebview in those binary files?

asharma-cyc commented 4 years ago

I also had Apple ITMS-90809 warning (ITMS-90809: Deprecated API Usage UIWebview). I'm using React Native 0.61.5 and react-native-gesture-handler 1.6.0 When I do grep -r UIWebView node_modules/*, here is the result:

Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/UIKit-1V5UHAPTOD24G.pcm matches Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/modules.idx matches Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/records/EJ/UIWebView.h-17DCX353XRLEJ matches Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/units/UIKit-1V5UHAPTOD24G.pcm-35LZDCPFUDPTH matches

Do you know why there is still references of UIWebview in those binary files?

Also seeing the same output.

premillos commented 4 years ago

same issues

DaniAkash commented 4 years ago

The deadline approaches in two days, any updates on the fix?

vadavallipavan commented 4 years ago

Any updates here please, TestFlight updates are now being rejected by Apple

phyng commented 4 years ago

Recently we have the same issue, we use react-native-gesture-handler@1.5.6, but finally, we upgrade other lib and fix ITMS-90809. so I think react-native-gesture-handler does not trigger ITMS-90809.

vadavallipavan commented 4 years ago

Recently we have the same issue, we use react-native-gesture-handler@1.5.6, but finally, we upgrade other lib and fix ITMS-90809. so I think react-native-gesture-handler does not trigger ITMS-90809.

we are currently on 1.5.1 will update to 1.5.6 and double check . Thanks for your update

bpetrified commented 4 years ago

Recently we have the same issue, we use react-native-gesture-handler@1.5.6, but finally, we upgrade other lib and fix ITMS-90809. so I think react-native-gesture-handler does not trigger ITMS-90809.

Thank you for your update!

kimmy-wang commented 4 years ago

@bpetrified I updated all the dependencies and still get the same issue. I use 1.6.1

bpetrified commented 4 years ago

@bpetrified I updated all the dependencies and still get the same issue. I use 1.6.1

Are there any other libs in your project that might cause this warning ? I haven’t tried submitting myself so I’m not really sure...

kimmy-wang commented 4 years ago

@bpetrified Nope!

vadavallipavan commented 4 years ago

Recently we have the same issue, we use react-native-gesture-handler@1.5.6, but finally, we upgrade other lib and fix ITMS-90809. so I think react-native-gesture-handler does not trigger ITMS-90809.

we are currently on 1.5.1 will update to 1.5.6 and double check . Thanks for your update

1.6.1 worked all good. . Thanks

kimmy-wang commented 4 years ago

@vadavallipavan @bpetrified I re-run the command grep -r UIWebView node_modules/* > wv.txt and I get the following information. There is no information related to this dependency now

node_modules/create-react-class/node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
node_modules/create-react-class/node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
node_modules/jsc-android/dist/include/JSContextPrivate.h:/*! @abstract The delegate the context will use when trying to load a module. Note, this delegate will be ignored for contexts returned by UIWebView. */
node_modules/react-native-webview/README.md:- [7.0.1](https://github.com/react-native-community/react-native-webview/releases/tag/v7.0.1) - Removed UIWebView
node_modules/ua-parser-js/test/browser-test.json:        "ua"      : "Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 QQ/6.5.3.410 V1_IPH_SQ_6.5.3_1_APP_A Pixel/1080 Core/UIWebView NetType/WIFI Mem/26",
nilesh1883 commented 4 years ago

Today my application got rejected with message:

ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability.

This is a blocker now.

EDIT: This library is not causing the issue, here are the links which helped me:

https://github.com/invertase/react-native-firebase/issues/3018#issuecomment-566829775

https://stackoverflow.com/a/60615933/418074

karpelcevs commented 4 years ago

Well it's not because of this dependency @nilesh1883. I have this module too and no rejections or warnings.

nilesh1883 commented 4 years ago

Well it's not because of this dependency @nilesh1883. I have this npm too and no rejections or warnings.

Thank you for pointing that out:

This library is not causing the issue, here are the links which helped me:

https://github.com/invertase/react-native-firebase/issues/3018#issuecomment-566829775

https://stackoverflow.com/a/60615933/418074

DaniAkash commented 4 years ago

The problem was present in the version 1.6.0 & earlier. After upgrading to 1.6.1 the reference to UIWebView is gone. This issue can be closed...

marlti7 commented 4 years ago

The problem was present in the version 1.6.0 & earlier. After upgrading to 1.6.1 the reference to UIWebView is gone. This issue can be closed...

but i user rn 0.59.9 and react-native-gesture-handler need 1.4.0. how can i fix it?

DaniAkash commented 4 years ago

@marlti7 you mean you can't install react-native-gesture-handler 1.6.1 in RN 0.59.9?

If so, Would like to know the reason...

nchase commented 3 years ago

The problem was present in the version 1.6.0 & earlier. After upgrading to 1.6.1 the reference to UIWebView is gone. This issue can be closed...

@DaniAkash This is the diff between 1.6.0 and 1.6.1 – how sure are you that this library was the cause of your UIWebView issue?

Edit: somehow the references found via grep UIWebView -r node_modules/* associated to react-native-gesture-handler disappeared after this update, which only appears to change a type definition according to github, so something more than what's displayed in github must have happened between 1.6.0 and 1.6.1

Here was the diff that I saw with grep UIWebView -r node_modules/* after updating to 1.6.1:

node_modules/@types/react-native-fbsdk/index.d.ts:    * Displays the dialog in a UIWebView within the app.
node_modules/create-react-class/node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
node_modules/create-react-class/node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
node_modules/jsc-android/dist/include/JSContextPrivate.h:/*! @abstract The delegate the context will use when trying to load a module. Note, this delegate will be ignored for contexts returned by UIWebView. */
node_modules/react-addons-shallow-compare/node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
node_modules/react-addons-shallow-compare/node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
node_modules/react-native-fbsdk/js/FBShareDialog.js:   * Displays the dialog in a UIWebView within the app.
- Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/UIKit-1V5UHAPTOD24G.pcm matches
- Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/modules.idx matches
- Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/records/EJ/UIWebView.h-17DCX353XRLEJ matches
- Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/units/UIKit-1V5UHAPTOD24G.pcm-35LZDCPFUDPTH matches
node_modules/react-native-webview/README.md:- [7.0.1](https://github.com/react-native-community/react-native-webview/releases/tag/v7.0.1) - Removed UIWebView
DaniAkash commented 3 years ago

The problem was present in the version 1.6.0 & earlier. After upgrading to 1.6.1 the reference to UIWebView is gone. This issue can be closed...

@DaniAkash This is the diff between 1.6.0 and 1.6.1 – how sure are you that this library was the cause of your UIWebView issue?

Edit: somehow the references found via grep UIWebView -r node_modules/* associated to react-native-gesture-handler disappeared after this update, which only appears to change a type definition according to github, so something more than what's displayed in github must have happened between 1.6.0 and 1.6.1

Here was the diff that I saw with grep UIWebView -r node_modules/* after updating to 1.6.1:

node_modules/@types/react-native-fbsdk/index.d.ts:    * Displays the dialog in a UIWebView within the app.
node_modules/create-react-class/node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
node_modules/create-react-class/node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
node_modules/jsc-android/dist/include/JSContextPrivate.h:/*! @abstract The delegate the context will use when trying to load a module. Note, this delegate will be ignored for contexts returned by UIWebView. */
node_modules/react-addons-shallow-compare/node_modules/fbjs/lib/UserAgent.js.flow:   * - UIWebView
node_modules/react-addons-shallow-compare/node_modules/fbjs/lib/UserAgent.js:   * - UIWebView
node_modules/react-native-fbsdk/js/FBShareDialog.js:   * Displays the dialog in a UIWebView within the app.
- Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/UIKit-1V5UHAPTOD24G.pcm matches
- Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/ModuleCache.noindex/11EFTSSB0BUOA/modules.idx matches
- Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/records/EJ/UIWebView.h-17DCX353XRLEJ matches
- Binary file node_modules/react-native-gesture-handler/ios/build/RNGestureHandler/Index/DataStore/v5/units/UIKit-1V5UHAPTOD24G.pcm-35LZDCPFUDPTH matches
node_modules/react-native-webview/README.md:- [7.0.1](https://github.com/react-native-community/react-native-webview/releases/tag/v7.0.1) - Removed UIWebView

I'm as clueless as you are. We need some maintainers to answer this

hengkx commented 3 years ago

@upcwangying same problem. How can I solve it?

ishaquehassan commented 3 years ago

### I SOLVED IT! In my case it was a framework in my Podfile which i found using grep -r UIWebView ios/*

But its very important to run in node_modules too grep -r UIWebView node_modules/*

Since its also in compilation process of xcode tools

Hope this helps!

anuj-njoshi commented 3 years ago

How to fix having same issue after grep -r UIWebView ios/* cmd

MahmoudShaeer commented 3 years ago

+1

anuj-njoshi commented 3 years ago

Those are using react-native <0.60.x https://github.com/facebook/react-native/issues/26255#issuecomment-623144903 help to fixed

halabe15 commented 3 years ago

Find solution here!

jakub-gonet commented 3 years ago

I'm pretty sure the newest version of Gesture Handler doesn't use UIWebView in any place, so I'm closing this issue.