Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIXED, RELEASE IN V3.0.0] UIWebView iOS Deprecated API Usage Warning ITMS-90809 #756

Closed
Johan-dutoit opened this issue Aug 29, 2019 · 17 comments
Labels

Comments

@Johan-dutoit
Copy link
Collaborator

@Johan-dutoit Johan-dutoit commented Aug 29, 2019

THIS HAS A MERGED FIX - IT WILL RELEASE IN V3.0.0 HERE*

See react-native-community/react-native-webview#819

I have not yet submitted a new version of the app, but I searched my node_modules and found that this module referenced UIWebView too.

See:

UIWebView* webView = [[UIWebView alloc] initWithFrame:CGRectZero];

@Johan-dutoit Johan-dutoit added the ios label Aug 29, 2019
@radko93

This comment has been minimized.

Copy link
Contributor

@radko93 radko93 commented Aug 29, 2019

I could submit a PR for that but then the Android part would also have to be asynchronous (as WKWebView evaluateJavascript is asynchronous). Is that fine @mikehardy?

@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Aug 29, 2019

Dang. This may be the time to finally do the big promise-based breaking change. I've got a bit of time this morning maybe I can crank it out. I don't want to just trickle in async changes when everything needs to go async really.

@Johan-dutoit / @radko93 I read through the linked discussion and did not see any statement on when it would become a hard requirement and fail an app store build vs just a warning. Could one of you guys dig and find when this becomes a hard fail? That will help prioritize

@mikehardy mikehardy changed the title iOS Deprecated API Usage Warning for UIWebView iOS Deprecated API Usage Warning for UIWebView ITMS-90809 Aug 29, 2019
@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Aug 29, 2019

@radko93 I would definitely appreciate a PR that implemented the required API change - while I may not ingest it as is (because I want to do all the async changes at once) it would be really really helpful to me to have the ObjC portion of the PR from someone who knew what they were doing :-). If you converted it to a Promise at the same time I could probably just include the commit raw into the promise-ify commit stream anyway, to maintain attribution

@Johan-dutoit

This comment has been minimized.

Copy link
Collaborator Author

@Johan-dutoit Johan-dutoit commented Aug 29, 2019

@mikehardy can we assume it's going to be with iOS 13? i.e. anything that targets iOS 13, which would mean less than 2 months away.

The documentation currently states the following, although we will have to check back once 13 is released.

image

Other than that, I've been unable to find a concrete timeline.

@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Aug 29, 2019

No one seems to know concretely in the react-native-community Discord chats or the webview component or stackoverflow. I think that's a reasonable guess though, thank you. If anyone posted the recommended ObjC changes that would help me 🙏 and we could get something up quickly to start working through project-specific testing etc

@radko93 radko93 mentioned this issue Aug 29, 2019
1 of 6 tasks complete
@mikehardy mikehardy mentioned this issue Aug 29, 2019
3 of 6 tasks complete
@mikehardy mikehardy added the bc-break label Aug 29, 2019
@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Aug 29, 2019

This is merged and will release with v3

@mikehardy mikehardy closed this Aug 29, 2019
@mikehardy mikehardy pinned this issue Aug 30, 2019
@mikehardy mikehardy changed the title iOS Deprecated API Usage Warning for UIWebView ITMS-90809 [FIXED, RELEASE IN V3.0.0] iOS Deprecated API Usage Warning for UIWebView ITMS-90809 Aug 30, 2019
@mikehardy mikehardy changed the title [FIXED, RELEASE IN V3.0.0] iOS Deprecated API Usage Warning for UIWebView ITMS-90809 [FIXED, RELEASE IN V3.0.0] UIWebView iOS Deprecated API Usage Warning ITMS-90809 Aug 30, 2019
@ATranDev

This comment has been minimized.

Copy link

@ATranDev ATranDev commented Aug 30, 2019

Điều này được hợp nhất và sẽ phát hành với v3

When will v3 be released? I am really in need @mikehardy

@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Aug 30, 2019

No, no you aren't really in need. You're strongly in want, nothing more. It's a warning, the app store will still accept submissions.

Asking for your free stuff faster is not polite in the open source world :-)

That said, I might have a release candidate up tomorrow morning.

But if I met my untimely demise and you really thought you were in need for some reason, you could use patch-package to integrate the merged patch, or fork. You'd be fine because the source is open and you're a programmer

@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Aug 31, 2019

This is released.

If anyone wants to try v3.0.0-beta.1 of react-native-device-info is up tagged on npm as @next - it's a big ol' breaking change because instead of making your app startup really slow (like .6 seconds slower than it would otherwise) by loading everything in constants in init, it's all Promises now. It also evicts the deprecated WebView stuff that causes App Store warnings. I would especially love a Windows tester, I don't even have a test environment there so I just hacked it and prayed https://github.com/react-native-community/react-native-device-info/releases/tag/v3.0.0-beta.1

@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Aug 31, 2019

I am planning on letting it incubate at least a couple days - plenty of time for good feedback. Final release maybe early next week. But you can rely on the v3 git branch, or the @next npm tag now if you want

@rnnyrk

This comment has been minimized.

Copy link

@rnnyrk rnnyrk commented Sep 5, 2019

Waiting for the v3 release to be stable. Btw I don't think your "No, no you aren't really in need. You're strongly in want, nothing more. It's a warning, the app store will still accept submissions." is valid. The Apple mail explicitly mentioned "Apple will stop accepting submissions of apps that use UIWebView APIs."

@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Sep 5, 2019

@rnnyrk tell me the date and I'll listen, until then my statement stands.

3.0.0-rc.1 has had no issues logged so I believe it's stable though I may add a companion sync API to it.

@Johan-dutoit

This comment has been minimized.

Copy link
Collaborator Author

@Johan-dutoit Johan-dutoit commented Sep 6, 2019

Been using (only like 5% of it anyway) 3.0.0-rc.1 for a while now and no issues yet.

@rnnyrk

This comment has been minimized.

Copy link

@rnnyrk rnnyrk commented Sep 6, 2019

@mikehardy I didn't mean this as an offense in any way. Just state what the Apple mail mentioned, which made me a little scared for my release. Updated to the RC now. Seems to run without any issues.

@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Sep 6, 2019

No worries @rnnyrk I don't take offense but I must be firm in my stance as the project is huge and wishy-washy remarks result in comment discussions that take time I don't care to spend ;-). So I wanted to be very concrete, for others that might come.

So to restate (since this will be the last comment now): Apple will continue accepting app submissions for now. There is no known date when they will stop. It is suspected they may stop when iOS 13 is in full release but that is a guess.

And of course we are working to resolve it.

Thanks everyone for the RC1 testing. I had so much difficulty with a semi-synchronous code-base and the fully async RC1 that I'm adding a parallel sync API for RC2 which is unfortunately a big change so I'll really appreciate further testing once it's out. Please follow along on #307 and #760

Thanks

@kaphoto

This comment has been minimized.

Copy link

@kaphoto kaphoto commented Oct 19, 2019

email: We identified one or more issues with a recent delivery for your app, "****" 1.0.0 (1.0.0). 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.

After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to App Store Connect.

Best regards,

The App Store Team

So, currently my app is blocked completely due to the uiwebview thingy. I'm assuming this is across the board now.

@mikehardy

This comment has been minimized.

Copy link
Collaborator

@mikehardy mikehardy commented Oct 19, 2019

@kaphoto this is thoroughly resolved through the ecosystem, the relevant issue in the react-native-webview repository has some good strategies to discover why you are still referencing the symbol, if you are. But the symbols are no longer in use in this repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
6 participants
You can’t perform that action at this time.