├── .gitattributes ├── index.js ├── src ├── index.android.js └── index.ios.js ├── ios ├── RNAppStoreReview.h ├── RNAppStoreReview.m └── RNAppStoreReview.xcodeproj │ └── project.pbxproj ├── .gitignore ├── react-native-app-store-review.podspec ├── LICENSE ├── README.md └── package.json /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | import Index from './src/index'; 2 | 3 | export default Index; 4 | -------------------------------------------------------------------------------- /src/index.android.js: -------------------------------------------------------------------------------- 1 | class AppStoreReview { 2 | 3 | static requestReview() { 4 | console.error('RNAppStoreReview is only available on iOS for now.'); 5 | } 6 | 7 | } 8 | 9 | export default AppStoreReview; 10 | -------------------------------------------------------------------------------- /src/index.ios.js: -------------------------------------------------------------------------------- 1 | import { NativeModules } from 'react-native'; 2 | 3 | const { RNAppStoreReview } = NativeModules; 4 | 5 | class AppStoreReview { 6 | 7 | static requestReview(appIdentifier) { 8 | if (!RNAppStoreReview) { 9 | return console.error('RNAppStoreReview library seems to be not linked to your project...'); 10 | } 11 | return RNAppStoreReview.requestReview(appIdentifier); 12 | } 13 | 14 | } 15 | 16 | export default AppStoreReview; 17 | -------------------------------------------------------------------------------- /ios/RNAppStoreReview.h: -------------------------------------------------------------------------------- 1 | // 2 | // RNAppStoreReview.h 3 | // 4 | // Created by Jérémy Magrin on 24/04/2017. 5 | // Copyright © 2017 Jérémy Magrin. All rights reserved. 6 | // 7 | 8 | #ifndef AppRate_h 9 | #define AppRate_h 10 | 11 | #if __has_include() 12 | #import 13 | #else 14 | #import "RCTBridgeModule.h" 15 | #endif 16 | 17 | #import 18 | 19 | 20 | @interface RNAppStoreReview: NSObject 21 | 22 | @end 23 | 24 | #endif /* AppRate_h */ 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # OSX 3 | # 4 | .DS_Store 5 | 6 | # node.js 7 | # 8 | node_modules/ 9 | npm-debug.log 10 | yarn-error.log 11 | 12 | 13 | # Xcode 14 | # 15 | build/ 16 | *.pbxuser 17 | !default.pbxuser 18 | *.mode1v3 19 | !default.mode1v3 20 | *.mode2v3 21 | !default.mode2v3 22 | *.perspectivev3 23 | !default.perspectivev3 24 | xcuserdata 25 | *.xccheckout 26 | *.moved-aside 27 | DerivedData 28 | *.hmap 29 | *.ipa 30 | *.xcuserstate 31 | project.xcworkspace 32 | 33 | 34 | # Android/IntelliJ 35 | # 36 | build/ 37 | .idea 38 | .gradle 39 | local.properties 40 | *.iml 41 | 42 | # BUCK 43 | buck-out/ 44 | \.buckd/ 45 | *.keystore 46 | -------------------------------------------------------------------------------- /react-native-app-store-review.podspec: -------------------------------------------------------------------------------- 1 | require "json" 2 | 3 | package = JSON.parse(File.read(File.join(__dir__, "package.json"))) 4 | 5 | Pod::Spec.new do |s| 6 | s.name = "react-native-app-store-review" 7 | s.version = package["version"] 8 | s.summary = package["description"] 9 | s.description = <<-DESC 10 | react-native-app-store-review 11 | DESC 12 | s.homepage = package['homepage'] 13 | s.license = "MIT" 14 | # s.license = { :type => "MIT", :file => "FILE_LICENSE" } 15 | s.authors = { package["author"]["name"] => package["author"]["email"] } 16 | s.platforms = { :ios => "9.0" } 17 | s.source = { :git => "https://github.com/github_account/react-native-app-store-review.git", :tag => "#{s.version}" } 18 | 19 | s.source_files = "ios/**/*.{h,m,swift}" 20 | s.requires_arc = true 21 | 22 | s.dependency "React" 23 | end 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Jérémy M 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # react-native-app-store-review 3 | 4 | ![rsz_ios-103-beta-1-note-application](https://cloud.githubusercontent.com/assets/3551795/25345288/f78ff17e-2914-11e7-9939-8d2f6897bf7e.jpg) 5 | 6 | This library allow you to print the new iOS 10.3 rate pop-up. 7 | If your users use a version of iOS higher than 8.0 but lesser than 10.3 a new view within the app is pushed with the app store page of your app. 8 | And if your user got an iOS version lesser than 8.0, it will be redirected on the app store in the write review section of your app. 9 | 10 | ## Getting started 11 | 12 | `$ npm install react-native-app-store-review --save` 13 | 14 | `$ cd ios && pod install` 15 | 16 | ## Usage 17 | ```javascript 18 | import AppStoreReview from 'react-native-app-store-review'; 19 | 20 | AppStoreReview.requestReview('1234567890'); // Change to your app store id 21 | ``` 22 | 23 | ## TODO 24 | 25 | Feel free to add something for Android :) 26 | 27 | ## Troubleshooting 28 | 29 | Please first read the Apple documentation: https://developer.apple.com/reference/storekit/skstorereviewcontroller/2851536-requestreview#discussion 30 | 31 | Release app: 32 | In release mode apple allow you to print this the review pop-up only 3-4 times a year 33 | 34 | TestFlight app: 35 | If you submit your app with testflight for test, the review pop-up will not be printed 36 | 37 | Dev app: 38 | The review pop-up is printed each time you call the function, but the submit button stay grey 39 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-native-app-store-review", 3 | "version": "1.0.0", 4 | "description": "Rate on app store inside your app", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/github_account/react-native-app-store-review.git", 12 | "baseUrl": "https://github.com/github_account/react-native-app-store-review" 13 | }, 14 | "keywords": [ 15 | "react-native", 16 | "react-component", 17 | "react-native-component", 18 | "react", 19 | "review", 20 | "app-store", 21 | "app", 22 | "ios", 23 | "store", 24 | "mobile", 25 | "rating", 26 | "reviews", 27 | "rate" 28 | ], 29 | "files": [ 30 | "/ios", 31 | "/index.js", 32 | "/src", 33 | "/*.podspec" 34 | ], 35 | "author": { 36 | "email": "contact@magrin.fr", 37 | "name": "Jeremy Magrin" 38 | }, 39 | "license": "MIT", 40 | "licenseFilename": "LICENSE", 41 | "readmeFilename": "README.md", 42 | "homepage": "https://github.com/magrinj/react-native-app-store-review", 43 | "bugs": { 44 | "url": "https://github.com/magrinj/react-native-app-store-review/issues" 45 | }, 46 | "peerDependencies": { 47 | "react-native": ">=0.20.0" 48 | }, 49 | "devDependencies": { 50 | "babel-eslint": "^7.1.1", 51 | "eslint": "^4.18.2", 52 | "eslint-plugin-flowtype": "^2.30.3", 53 | "eslint-plugin-react": "^6.10.2" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /ios/RNAppStoreReview.m: -------------------------------------------------------------------------------- 1 | // 2 | // RNAppStoreReview.m 3 | // 4 | // Created by Jérémy Magrin on 24/04/2017. 5 | // Copyright © 2017 Jérémy Magrin. All rights reserved. 6 | // 7 | 8 | #import "RNAppStoreReview.h" 9 | 10 | #import 11 | 12 | @implementation RNAppStoreReview 13 | 14 | RCT_EXPORT_MODULE(); 15 | 16 | - (dispatch_queue_t) methodQueue 17 | { 18 | return dispatch_get_main_queue(); 19 | } 20 | 21 | - (UIViewController*) getRootVC { 22 | UIViewController *root = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; 23 | while (root.presentedViewController != nil) { 24 | root = root.presentedViewController; 25 | } 26 | 27 | return root; 28 | } 29 | 30 | - (void) openStoreProductWithiTunesItemIdentifierWithinApp:(NSString *) appIdentifier { 31 | UIViewController *root = [self getRootVC]; 32 | 33 | SKStoreProductViewController *storeViewController = [[SKStoreProductViewController alloc] init]; 34 | storeViewController.delegate = self; 35 | 36 | NSDictionary *parameters = @{ SKStoreProductParameterITunesItemIdentifier: appIdentifier }; 37 | 38 | [storeViewController loadProductWithParameters:parameters completionBlock:^(BOOL result, NSError *error) { 39 | if (result) { 40 | [root presentViewController:storeViewController animated:YES completion:nil]; 41 | } else { 42 | NSLog(@"ERROR WITH STORE CONTROLLER %@\n", error.description); 43 | //redirect to app store 44 | [self openStoreProductWithiTunesItemIdentifier:appIdentifier]; 45 | } 46 | }]; 47 | } 48 | 49 | - (void) openStoreProductWithiTunesItemIdentifier:(NSString *) appIdentifier { 50 | NSString *strUrl = [NSString stringWithFormat:@"%@%@%@", @"itms-apps://itunes.apple.com/app/id", appIdentifier, @"?action=write-review"]; 51 | NSURL *url = [NSURL URLWithString: strUrl]; 52 | 53 | if ([[UIApplication sharedApplication] canOpenURL:url]) { 54 | [[UIApplication sharedApplication] openURL:url]; 55 | } 56 | } 57 | 58 | - (void) productViewControllerDidFinish:(SKStoreProductViewController*)viewController { 59 | [viewController dismissViewControllerAnimated:YES completion:nil]; 60 | } 61 | 62 | RCT_EXPORT_METHOD(requestReview:(NSString *) appIdentifier) 63 | { 64 | if ([SKStoreReviewController class]) { 65 | [SKStoreReviewController requestReview]; 66 | } else if ([SKStoreProductViewController class]) { 67 | [self openStoreProductWithiTunesItemIdentifierWithinApp:appIdentifier]; 68 | } else { 69 | [self openStoreProductWithiTunesItemIdentifier:appIdentifier]; 70 | } 71 | } 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /ios/RNAppStoreReview.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | B3E7B58A1CC2AC0600A0062D /* RNAppStoreReview.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNAppStoreReview.m */; }; 11 | /* End PBXBuildFile section */ 12 | 13 | /* Begin PBXCopyFilesBuildPhase section */ 14 | 58B511D91A9E6C8500147676 /* CopyFiles */ = { 15 | isa = PBXCopyFilesBuildPhase; 16 | buildActionMask = 2147483647; 17 | dstPath = "include/$(PRODUCT_NAME)"; 18 | dstSubfolderSpec = 16; 19 | files = ( 20 | ); 21 | runOnlyForDeploymentPostprocessing = 0; 22 | }; 23 | /* End PBXCopyFilesBuildPhase section */ 24 | 25 | /* Begin PBXFileReference section */ 26 | 134814201AA4EA6300B7C361 /* libRNAppStoreReview.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNAppStoreReview.a; sourceTree = BUILT_PRODUCTS_DIR; }; 27 | B3E7B5881CC2AC0600A0062D /* RNAppStoreReview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNAppStoreReview.h; sourceTree = ""; }; 28 | B3E7B5891CC2AC0600A0062D /* RNAppStoreReview.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNAppStoreReview.m; sourceTree = ""; }; 29 | /* End PBXFileReference section */ 30 | 31 | /* Begin PBXFrameworksBuildPhase section */ 32 | 58B511D81A9E6C8500147676 /* Frameworks */ = { 33 | isa = PBXFrameworksBuildPhase; 34 | buildActionMask = 2147483647; 35 | files = ( 36 | ); 37 | runOnlyForDeploymentPostprocessing = 0; 38 | }; 39 | /* End PBXFrameworksBuildPhase section */ 40 | 41 | /* Begin PBXGroup section */ 42 | 134814211AA4EA7D00B7C361 /* Products */ = { 43 | isa = PBXGroup; 44 | children = ( 45 | 134814201AA4EA6300B7C361 /* libRNAppStoreReview.a */, 46 | ); 47 | name = Products; 48 | sourceTree = ""; 49 | }; 50 | 58B511D21A9E6C8500147676 = { 51 | isa = PBXGroup; 52 | children = ( 53 | B3E7B5881CC2AC0600A0062D /* RNAppStoreReview.h */, 54 | B3E7B5891CC2AC0600A0062D /* RNAppStoreReview.m */, 55 | 134814211AA4EA7D00B7C361 /* Products */, 56 | ); 57 | sourceTree = ""; 58 | }; 59 | /* End PBXGroup section */ 60 | 61 | /* Begin PBXNativeTarget section */ 62 | 58B511DA1A9E6C8500147676 /* RNAppStoreReview */ = { 63 | isa = PBXNativeTarget; 64 | buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNAppStoreReview" */; 65 | buildPhases = ( 66 | 58B511D71A9E6C8500147676 /* Sources */, 67 | 58B511D81A9E6C8500147676 /* Frameworks */, 68 | 58B511D91A9E6C8500147676 /* CopyFiles */, 69 | ); 70 | buildRules = ( 71 | ); 72 | dependencies = ( 73 | ); 74 | name = RNAppStoreReview; 75 | productName = RCTDataManager; 76 | productReference = 134814201AA4EA6300B7C361 /* libRNAppStoreReview.a */; 77 | productType = "com.apple.product-type.library.static"; 78 | }; 79 | /* End PBXNativeTarget section */ 80 | 81 | /* Begin PBXProject section */ 82 | 58B511D31A9E6C8500147676 /* Project object */ = { 83 | isa = PBXProject; 84 | attributes = { 85 | LastUpgradeCheck = 0610; 86 | ORGANIZATIONNAME = Facebook; 87 | TargetAttributes = { 88 | 58B511DA1A9E6C8500147676 = { 89 | CreatedOnToolsVersion = 6.1.1; 90 | }; 91 | }; 92 | }; 93 | buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNAppStoreReview" */; 94 | compatibilityVersion = "Xcode 3.2"; 95 | developmentRegion = English; 96 | hasScannedForEncodings = 0; 97 | knownRegions = ( 98 | en, 99 | ); 100 | mainGroup = 58B511D21A9E6C8500147676; 101 | productRefGroup = 58B511D21A9E6C8500147676; 102 | projectDirPath = ""; 103 | projectRoot = ""; 104 | targets = ( 105 | 58B511DA1A9E6C8500147676 /* RNAppStoreReview */, 106 | ); 107 | }; 108 | /* End PBXProject section */ 109 | 110 | /* Begin PBXSourcesBuildPhase section */ 111 | 58B511D71A9E6C8500147676 /* Sources */ = { 112 | isa = PBXSourcesBuildPhase; 113 | buildActionMask = 2147483647; 114 | files = ( 115 | B3E7B58A1CC2AC0600A0062D /* RNAppStoreReview.m in Sources */, 116 | ); 117 | runOnlyForDeploymentPostprocessing = 0; 118 | }; 119 | /* End PBXSourcesBuildPhase section */ 120 | 121 | /* Begin XCBuildConfiguration section */ 122 | 58B511ED1A9E6C8500147676 /* Debug */ = { 123 | isa = XCBuildConfiguration; 124 | buildSettings = { 125 | ALWAYS_SEARCH_USER_PATHS = NO; 126 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 127 | CLANG_CXX_LIBRARY = "libc++"; 128 | CLANG_ENABLE_MODULES = YES; 129 | CLANG_ENABLE_OBJC_ARC = YES; 130 | CLANG_WARN_BOOL_CONVERSION = YES; 131 | CLANG_WARN_CONSTANT_CONVERSION = YES; 132 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 133 | CLANG_WARN_EMPTY_BODY = YES; 134 | CLANG_WARN_ENUM_CONVERSION = YES; 135 | CLANG_WARN_INT_CONVERSION = YES; 136 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 137 | CLANG_WARN_UNREACHABLE_CODE = YES; 138 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 139 | COPY_PHASE_STRIP = NO; 140 | ENABLE_STRICT_OBJC_MSGSEND = YES; 141 | GCC_C_LANGUAGE_STANDARD = gnu99; 142 | GCC_DYNAMIC_NO_PIC = NO; 143 | GCC_OPTIMIZATION_LEVEL = 0; 144 | GCC_PREPROCESSOR_DEFINITIONS = ( 145 | "DEBUG=1", 146 | "$(inherited)", 147 | ); 148 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 149 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 150 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 151 | GCC_WARN_UNDECLARED_SELECTOR = YES; 152 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 153 | GCC_WARN_UNUSED_FUNCTION = YES; 154 | GCC_WARN_UNUSED_VARIABLE = YES; 155 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 156 | MTL_ENABLE_DEBUG_INFO = YES; 157 | ONLY_ACTIVE_ARCH = YES; 158 | SDKROOT = iphoneos; 159 | }; 160 | name = Debug; 161 | }; 162 | 58B511EE1A9E6C8500147676 /* Release */ = { 163 | isa = XCBuildConfiguration; 164 | buildSettings = { 165 | ALWAYS_SEARCH_USER_PATHS = NO; 166 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 167 | CLANG_CXX_LIBRARY = "libc++"; 168 | CLANG_ENABLE_MODULES = YES; 169 | CLANG_ENABLE_OBJC_ARC = YES; 170 | CLANG_WARN_BOOL_CONVERSION = YES; 171 | CLANG_WARN_CONSTANT_CONVERSION = YES; 172 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 173 | CLANG_WARN_EMPTY_BODY = YES; 174 | CLANG_WARN_ENUM_CONVERSION = YES; 175 | CLANG_WARN_INT_CONVERSION = YES; 176 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 177 | CLANG_WARN_UNREACHABLE_CODE = YES; 178 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 179 | COPY_PHASE_STRIP = YES; 180 | ENABLE_NS_ASSERTIONS = NO; 181 | ENABLE_STRICT_OBJC_MSGSEND = YES; 182 | GCC_C_LANGUAGE_STANDARD = gnu99; 183 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 184 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 185 | GCC_WARN_UNDECLARED_SELECTOR = YES; 186 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 187 | GCC_WARN_UNUSED_FUNCTION = YES; 188 | GCC_WARN_UNUSED_VARIABLE = YES; 189 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 190 | MTL_ENABLE_DEBUG_INFO = NO; 191 | SDKROOT = iphoneos; 192 | VALIDATE_PRODUCT = YES; 193 | }; 194 | name = Release; 195 | }; 196 | 58B511F01A9E6C8500147676 /* Debug */ = { 197 | isa = XCBuildConfiguration; 198 | buildSettings = { 199 | HEADER_SEARCH_PATHS = ( 200 | "$(inherited)", 201 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 202 | "$(SRCROOT)/../../../React/**", 203 | "$(SRCROOT)/../../react-native/React/**", 204 | ); 205 | LIBRARY_SEARCH_PATHS = "$(inherited)"; 206 | OTHER_LDFLAGS = "-ObjC"; 207 | PRODUCT_NAME = RNAppStoreReview; 208 | SKIP_INSTALL = YES; 209 | }; 210 | name = Debug; 211 | }; 212 | 58B511F11A9E6C8500147676 /* Release */ = { 213 | isa = XCBuildConfiguration; 214 | buildSettings = { 215 | HEADER_SEARCH_PATHS = ( 216 | "$(inherited)", 217 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 218 | "$(SRCROOT)/../../../React/**", 219 | "$(SRCROOT)/../../react-native/React/**", 220 | ); 221 | LIBRARY_SEARCH_PATHS = "$(inherited)"; 222 | OTHER_LDFLAGS = "-ObjC"; 223 | PRODUCT_NAME = RNAppStoreReview; 224 | SKIP_INSTALL = YES; 225 | }; 226 | name = Release; 227 | }; 228 | /* End XCBuildConfiguration section */ 229 | 230 | /* Begin XCConfigurationList section */ 231 | 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNAppStoreReview" */ = { 232 | isa = XCConfigurationList; 233 | buildConfigurations = ( 234 | 58B511ED1A9E6C8500147676 /* Debug */, 235 | 58B511EE1A9E6C8500147676 /* Release */, 236 | ); 237 | defaultConfigurationIsVisible = 0; 238 | defaultConfigurationName = Release; 239 | }; 240 | 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNAppStoreReview" */ = { 241 | isa = XCConfigurationList; 242 | buildConfigurations = ( 243 | 58B511F01A9E6C8500147676 /* Debug */, 244 | 58B511F11A9E6C8500147676 /* Release */, 245 | ); 246 | defaultConfigurationIsVisible = 0; 247 | defaultConfigurationName = Release; 248 | }; 249 | /* End XCConfigurationList section */ 250 | }; 251 | rootObject = 58B511D31A9E6C8500147676 /* Project object */; 252 | } 253 | --------------------------------------------------------------------------------