UNPKG

1.04 kBPlain TextView Raw
1#import "RNStoreReview.h"
2#import <StoreKit/SKStoreReviewController.h>
3
4#ifdef RCT_NEW_ARCH_ENABLED
5#import <RNStoreReviewSpec/RNStoreReviewSpec.h>
6#endif
7
8@implementation RNStoreReview
9
10- (dispatch_queue_t)methodQueue
11{
12 return dispatch_get_main_queue();
13}
14
15RCT_EXPORT_MODULE()
16
17RCT_EXPORT_METHOD(requestReview)
18{
19 if (@available(iOS 14.0, *)) {
20 UIWindowScene *activeScene;
21 NSSet *scenes = [[UIApplication sharedApplication] connectedScenes];
22 for (UIScene *scene in scenes) {
23 if ([scene activationState] == UISceneActivationStateForegroundActive) {
24 activeScene = scene;
25 break;
26 }
27 }
28 if (activeScene != nil) {
29 [SKStoreReviewController requestReviewInScene:activeScene];
30 }
31 } else {
32 [SKStoreReviewController requestReview];
33 }
34}
35
36#ifdef RCT_NEW_ARCH_ENABLED
37- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const facebook::react::ObjCTurboModule::InitParams &)params
38{
39 return std::make_shared<facebook::react::NativeRNStoreReviewSpecJSI>(params);
40}
41#endif
42
43@end