replace custom native review module with expo-store-review #6268
+390
−513
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes APP-2038
What changed (plus any additional context for devs)
Fixes the app not being able to receive touches after the SKStoreReviewController was shown on iOS.
The app would not be able to receive any touches until force closed regardless of if the user selected "Not Now" or rated the app once the SKStoreReviewController was shown.
expo-store-review was added to replace custom native module implementation, but that did not fix the issue.
The addition of expo-store-review was kept regardless due to the custom native module implementations being 5 years old and including some method swizzling and arbitrary timeouts to get around issues that no longer exist.
The issue was related to this extension in the Extensions.swift file
This code was added in a 5 year old PR (#509) for improving performance of a native list component that is no longer used, so it should be safe to remove.
This issue CocoaDebug/CocoaDebug/issues/143 has more information on why this happens
Screen recordings / screenshots
RPReplay_Final1731728558.MP4
What to test