1export default { 2 'ios/ReactNativeProject/Supporting/Expo.plist': `<?xml version="1.0" encoding="UTF-8"?> 3 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 4 <plist version="1.0"> 5 <dict> 6 </dict> 7 </plist> 8 `, 9 'ios/ReactNativeProject/Info.plist': `<?xml version="1.0" encoding="UTF-8"?> 10 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 11 <plist version="1.0"> 12 <dict> 13 <key>CFBundleDevelopmentRegion</key> 14 <string>en</string> 15 <key>CFBundleDisplayName</key> 16 <string>ReactNativeProject</string> 17 <key>CFBundleExecutable</key> 18 <string>$(EXECUTABLE_NAME)</string> 19 <key>CFBundleIdentifier</key> 20 <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> 21 <key>CFBundleInfoDictionaryVersion</key> 22 <string>6.0</string> 23 <key>CFBundleName</key> 24 <string>$(PRODUCT_NAME)</string> 25 <key>CFBundlePackageType</key> 26 <string>APPL</string> 27 <key>CFBundleShortVersionString</key> 28 <string>1.0</string> 29 <key>CFBundleSignature</key> 30 <string>????</string> 31 <key>CFBundleVersion</key> 32 <string>1</string> 33 <key>LSRequiresIPhoneOS</key> 34 <true/> 35 <key>NSAppTransportSecurity</key> 36 <dict> 37 <key>NSAllowsArbitraryLoads</key> 38 <true/> 39 <key>NSExceptionDomains</key> 40 <dict> 41 <key>localhost</key> 42 <dict> 43 <key>NSExceptionAllowsInsecureHTTPLoads</key> 44 <true/> 45 </dict> 46 </dict> 47 </dict> 48 <key>NSLocationWhenInUseUsageDescription</key> 49 <string></string> 50 <key>UILaunchStoryboardName</key> 51 <string>LaunchScreen</string> 52 <key>UIRequiredDeviceCapabilities</key> 53 <array> 54 <string>armv7</string> 55 </array> 56 <key>UISupportedInterfaceOrientations</key> 57 <array> 58 <string>UIInterfaceOrientationPortrait</string> 59 <string>UIInterfaceOrientationLandscapeLeft</string> 60 <string>UIInterfaceOrientationLandscapeRight</string> 61 </array> 62 <key>UIViewControllerBasedStatusBarAppearance</key> 63 <false/> 64 </dict> 65 </plist> 66 `, 67 'ios/ReactNativeProject/AppDelegate.m': `#import "AppDelegate.h" 68 69 #import <React/RCTBridge.h> 70 #import <React/RCTBundleURLProvider.h> 71 #import <React/RCTRootView.h> 72 73 #if DEBUG 74 #import <FlipperKit/FlipperClient.h> 75 #import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h> 76 #import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h> 77 #import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h> 78 #import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h> 79 #import <FlipperKitReactPlugin/FlipperKitReactPlugin.h> 80 81 static void InitializeFlipper(UIApplication *application) { 82 FlipperClient *client = [FlipperClient sharedClient]; 83 SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; 84 [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; 85 [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; 86 [client addPlugin:[FlipperKitReactPlugin new]]; 87 [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; 88 [client start]; 89 } 90 #endif 91 92 @implementation AppDelegate 93 94 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 95 { 96 #if DEBUG 97 InitializeFlipper(application); 98 #endif 99 100 RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; 101 RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge 102 moduleName:@"ReactNativeProject" 103 initialProperties:nil]; 104 105 rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; 106 107 self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 108 UIViewController *rootViewController = [UIViewController new]; 109 rootViewController.view = rootView; 110 self.window.rootViewController = rootViewController; 111 [self.window makeKeyAndVisible]; 112 return YES; 113 } 114 115 - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge 116 { 117 #if DEBUG 118 return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@".expo/.virtual-metro-entry" fallbackResource:nil]; 119 #else 120 return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 121 #endif 122 } 123 124 @end 125 `, 126 'ios/ReactNativeProject/Base.lproj/LaunchScreen.xib': `<?xml version="1.0" encoding="UTF-8" standalone="no"?> 127 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES"> 128 <dependencies> 129 <deployment identifier="iOS"/> 130 <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7701"/> 131 <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/> 132 </dependencies> 133 <objects> 134 <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> 135 <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> 136 <view contentMode="scaleToFill" id="iN0-l3-epB"> 137 <rect key="frame" x="0.0" y="0.0" width="480" height="480"/> 138 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> 139 <subviews> 140 <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Powered by React Native" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye"> 141 <rect key="frame" x="20" y="439" width="441" height="21"/> 142 <fontDescription key="fontDescription" type="system" pointSize="17"/> 143 <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> 144 <nil key="highlightedColor"/> 145 </label> 146 <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ReactNativeProject" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX"> 147 <rect key="frame" x="20" y="140" width="441" height="43"/> 148 <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/> 149 <color key="textColor" cocoaTouchSystemColor="darkTextColor"/> 150 <nil key="highlightedColor"/> 151 </label> 152 </subviews> 153 <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> 154 <constraints> 155 <constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/> 156 <constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/> 157 <constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/> 158 <constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/> 159 <constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/> 160 <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/> 161 </constraints> 162 <nil key="simulatedStatusBarMetrics"/> 163 <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> 164 <point key="canvasLocation" x="548" y="455"/> 165 </view> 166 </objects> 167 </document> 168 `, 169 'ios/ReactNativeProject/Images.xcassets/AppIcon.appiconset/Contents.json': `{ 170 "images" : [ 171 { 172 "idiom" : "iphone", 173 "size" : "29x29", 174 "scale" : "2x" 175 }, 176 { 177 "idiom" : "iphone", 178 "size" : "29x29", 179 "scale" : "3x" 180 }, 181 { 182 "idiom" : "iphone", 183 "size" : "40x40", 184 "scale" : "2x" 185 }, 186 { 187 "idiom" : "iphone", 188 "size" : "40x40", 189 "scale" : "3x" 190 }, 191 { 192 "idiom" : "iphone", 193 "size" : "60x60", 194 "scale" : "2x" 195 }, 196 { 197 "idiom" : "iphone", 198 "size" : "60x60", 199 "scale" : "3x" 200 } 201 ], 202 "info" : { 203 "version" : 1, 204 "author" : "xcode" 205 } 206 }`, 207 'ios/ReactNativeProject/Images.xcassets/Contents.json': `{ 208 "info" : { 209 "version" : 1, 210 "author" : "xcode" 211 } 212 } 213 `, 214 'ios/ReactNativeProject.xcodeproj/project.pbxproj': `// !$*UTF8*$! 215 { 216 archiveVersion = 1; 217 classes = { 218 }; 219 objectVersion = 46; 220 objects = { 221 222 /* Begin PBXBuildFile section */ 223 00E356F31AD99517003FC87E /* ReactNativeProjectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ReactNativeProjectTests.m */; }; 224 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 225 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 226 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 227 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 228 4B370DA44606A377CF63141B /* libPods-ReactNativeProject-ReactNativeProjectTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7671A2643A0F7BE16919D473 /* libPods-ReactNativeProject-ReactNativeProjectTests.a */; }; 229 60AEE1F74BD8DB47761ECAA0 /* libPods-ReactNativeProject.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C571B07E8B81C69F6809DF07 /* libPods-ReactNativeProject.a */; }; 230 /* End PBXBuildFile section */ 231 232 /* Begin PBXContainerItemProxy section */ 233 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { 234 isa = PBXContainerItemProxy; 235 containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; 236 proxyType = 1; 237 remoteGlobalIDString = 13B07F861A680F5B00A75B9A; 238 remoteInfo = ReactNativeProject; 239 }; 240 /* End PBXContainerItemProxy section */ 241 242 /* Begin PBXFileReference section */ 243 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; }; 244 00E356EE1AD99517003FC87E /* ReactNativeProjectTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ReactNativeProjectTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 245 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 246 00E356F21AD99517003FC87E /* ReactNativeProjectTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ReactNativeProjectTests.m; sourceTree = "<group>"; }; 247 13B07F961A680F5B00A75B9A /* ReactNativeProject.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ReactNativeProject.app; sourceTree = BUILT_PRODUCTS_DIR; }; 248 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ReactNativeProject/AppDelegate.h; sourceTree = "<group>"; }; 249 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = ReactNativeProject/AppDelegate.m; sourceTree = "<group>"; }; 250 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; }; 251 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ReactNativeProject/Images.xcassets; sourceTree = "<group>"; }; 252 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ReactNativeProject/Info.plist; sourceTree = "<group>"; }; 253 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ReactNativeProject/main.m; sourceTree = "<group>"; }; 254 40C3418ACC823FDBB8E043EE /* libPods-ReactNativeProject-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeProject-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 255 6561A35EBD3559C868AF5144 /* libPods-ReactNativeProject-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeProject-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 256 7671A2643A0F7BE16919D473 /* libPods-ReactNativeProject-ReactNativeProjectTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeProject-ReactNativeProjectTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 257 8A2AE9B83D633AB9012EE7AD /* Pods-ReactNativeProject-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeProject-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeProject-tvOSTests/Pods-ReactNativeProject-tvOSTests.release.xcconfig"; sourceTree = "<group>"; }; 258 8CCF8538F230DE9FA56C3A08 /* Pods-ReactNativeProject-ReactNativeProjectTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeProject-ReactNativeProjectTests.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeProject-ReactNativeProjectTests/Pods-ReactNativeProject-ReactNativeProjectTests.release.xcconfig"; sourceTree = "<group>"; }; 259 92F15A6F91E71246CC5491A1 /* Pods-ReactNativeProject.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeProject.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeProject/Pods-ReactNativeProject.release.xcconfig"; sourceTree = "<group>"; }; 260 AA019B1CDE25FAE085310A13 /* Pods-ReactNativeProject-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeProject-tvOS.release.xcconfig"; path = "Target Support Files/Pods-ReactNativeProject-tvOS/Pods-ReactNativeProject-tvOS.release.xcconfig"; sourceTree = "<group>"; }; 261 C571B07E8B81C69F6809DF07 /* libPods-ReactNativeProject.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ReactNativeProject.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 262 CE33E6645D2F2C6E99FA9E58 /* Pods-ReactNativeProject-ReactNativeProjectTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeProject-ReactNativeProjectTests.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeProject-ReactNativeProjectTests/Pods-ReactNativeProject-ReactNativeProjectTests.debug.xcconfig"; sourceTree = "<group>"; }; 263 D6F5BBE0F6FACD4BBA3B8336 /* Pods-ReactNativeProject-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeProject-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeProject-tvOSTests/Pods-ReactNativeProject-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; }; 264 ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 265 ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; 266 F15EE64A4C9D5BC341D8E4BC /* Pods-ReactNativeProject.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeProject.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeProject/Pods-ReactNativeProject.debug.xcconfig"; sourceTree = "<group>"; }; 267 FD7429ABFA374F992514CD26 /* Pods-ReactNativeProject-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ReactNativeProject-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-ReactNativeProject-tvOS/Pods-ReactNativeProject-tvOS.debug.xcconfig"; sourceTree = "<group>"; }; 268 /* End PBXFileReference section */ 269 270 /* Begin PBXFrameworksBuildPhase section */ 271 00E356EB1AD99517003FC87E /* Frameworks */ = { 272 isa = PBXFrameworksBuildPhase; 273 buildActionMask = 2147483647; 274 files = ( 275 4B370DA44606A377CF63141B /* libPods-ReactNativeProject-ReactNativeProjectTests.a in Frameworks */, 276 ); 277 runOnlyForDeploymentPostprocessing = 0; 278 }; 279 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { 280 isa = PBXFrameworksBuildPhase; 281 buildActionMask = 2147483647; 282 files = ( 283 60AEE1F74BD8DB47761ECAA0 /* libPods-ReactNativeProject.a in Frameworks */, 284 ); 285 runOnlyForDeploymentPostprocessing = 0; 286 }; 287 /* End PBXFrameworksBuildPhase section */ 288 289 /* Begin PBXGroup section */ 290 00E356EF1AD99517003FC87E /* ReactNativeProjectTests */ = { 291 isa = PBXGroup; 292 children = ( 293 00E356F21AD99517003FC87E /* ReactNativeProjectTests.m */, 294 00E356F01AD99517003FC87E /* Supporting Files */, 295 ); 296 path = ReactNativeProjectTests; 297 sourceTree = "<group>"; 298 }; 299 00E356F01AD99517003FC87E /* Supporting Files */ = { 300 isa = PBXGroup; 301 children = ( 302 00E356F11AD99517003FC87E /* Info.plist */, 303 ); 304 name = "Supporting Files"; 305 sourceTree = "<group>"; 306 }; 307 13B07FAE1A68108700A75B9A /* ReactNativeProject */ = { 308 isa = PBXGroup; 309 children = ( 310 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 311 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 312 13B07FB01A68108700A75B9A /* AppDelegate.m */, 313 13B07FB51A68108700A75B9A /* Images.xcassets */, 314 13B07FB61A68108700A75B9A /* Info.plist */, 315 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 316 13B07FB71A68108700A75B9A /* main.m */, 317 ); 318 name = ReactNativeProject; 319 sourceTree = "<group>"; 320 }; 321 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { 322 isa = PBXGroup; 323 children = ( 324 ED297162215061F000B7C4FE /* JavaScriptCore.framework */, 325 ED2971642150620600B7C4FE /* JavaScriptCore.framework */, 326 C571B07E8B81C69F6809DF07 /* libPods-ReactNativeProject.a */, 327 7671A2643A0F7BE16919D473 /* libPods-ReactNativeProject-ReactNativeProjectTests.a */, 328 6561A35EBD3559C868AF5144 /* libPods-ReactNativeProject-tvOS.a */, 329 40C3418ACC823FDBB8E043EE /* libPods-ReactNativeProject-tvOSTests.a */, 330 ); 331 name = Frameworks; 332 sourceTree = "<group>"; 333 }; 334 832341AE1AAA6A7D00B99B32 /* Libraries */ = { 335 isa = PBXGroup; 336 children = ( 337 ); 338 name = Libraries; 339 sourceTree = "<group>"; 340 }; 341 83CBB9F61A601CBA00E9B192 = { 342 isa = PBXGroup; 343 children = ( 344 13B07FAE1A68108700A75B9A /* ReactNativeProject */, 345 832341AE1AAA6A7D00B99B32 /* Libraries */, 346 00E356EF1AD99517003FC87E /* ReactNativeProjectTests */, 347 83CBBA001A601CBA00E9B192 /* Products */, 348 2D16E6871FA4F8E400B85C8A /* Frameworks */, 349 9A0B45CE531ED53EAF0DA55A /* Pods */, 350 ); 351 indentWidth = 2; 352 sourceTree = "<group>"; 353 tabWidth = 2; 354 usesTabs = 0; 355 }; 356 83CBBA001A601CBA00E9B192 /* Products */ = { 357 isa = PBXGroup; 358 children = ( 359 13B07F961A680F5B00A75B9A /* ReactNativeProject.app */, 360 00E356EE1AD99517003FC87E /* ReactNativeProjectTests.xctest */, 361 ); 362 name = Products; 363 sourceTree = "<group>"; 364 }; 365 9A0B45CE531ED53EAF0DA55A /* Pods */ = { 366 isa = PBXGroup; 367 children = ( 368 F15EE64A4C9D5BC341D8E4BC /* Pods-ReactNativeProject.debug.xcconfig */, 369 92F15A6F91E71246CC5491A1 /* Pods-ReactNativeProject.release.xcconfig */, 370 CE33E6645D2F2C6E99FA9E58 /* Pods-ReactNativeProject-ReactNativeProjectTests.debug.xcconfig */, 371 8CCF8538F230DE9FA56C3A08 /* Pods-ReactNativeProject-ReactNativeProjectTests.release.xcconfig */, 372 FD7429ABFA374F992514CD26 /* Pods-ReactNativeProject-tvOS.debug.xcconfig */, 373 AA019B1CDE25FAE085310A13 /* Pods-ReactNativeProject-tvOS.release.xcconfig */, 374 D6F5BBE0F6FACD4BBA3B8336 /* Pods-ReactNativeProject-tvOSTests.debug.xcconfig */, 375 8A2AE9B83D633AB9012EE7AD /* Pods-ReactNativeProject-tvOSTests.release.xcconfig */, 376 ); 377 path = Pods; 378 sourceTree = "<group>"; 379 }; 380 /* End PBXGroup section */ 381 382 /* Begin PBXNativeTarget section */ 383 00E356ED1AD99517003FC87E /* ReactNativeProjectTests */ = { 384 isa = PBXNativeTarget; 385 buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ReactNativeProjectTests" */; 386 buildPhases = ( 387 027ED265C5A283E45FB44549 /* [CP] Check Pods Manifest.lock */, 388 00E356EA1AD99517003FC87E /* Sources */, 389 00E356EB1AD99517003FC87E /* Frameworks */, 390 00E356EC1AD99517003FC87E /* Resources */, 391 ); 392 buildRules = ( 393 ); 394 dependencies = ( 395 00E356F51AD99517003FC87E /* PBXTargetDependency */, 396 ); 397 name = ReactNativeProjectTests; 398 productName = ReactNativeProjectTests; 399 productReference = 00E356EE1AD99517003FC87E /* ReactNativeProjectTests.xctest */; 400 productType = "com.apple.product-type.bundle.unit-test"; 401 }; 402 13B07F861A680F5B00A75B9A /* ReactNativeProject */ = { 403 isa = PBXNativeTarget; 404 buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeProject" */; 405 buildPhases = ( 406 238A755D8286A59031418306 /* [CP] Check Pods Manifest.lock */, 407 FD10A7F022414F080027D42C /* Start Packager */, 408 13B07F871A680F5B00A75B9A /* Sources */, 409 13B07F8C1A680F5B00A75B9A /* Frameworks */, 410 13B07F8E1A680F5B00A75B9A /* Resources */, 411 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 412 ); 413 buildRules = ( 414 ); 415 dependencies = ( 416 ); 417 name = ReactNativeProject; 418 productName = ReactNativeProject; 419 productReference = 13B07F961A680F5B00A75B9A /* ReactNativeProject.app */; 420 productType = "com.apple.product-type.application"; 421 }; 422 /* End PBXNativeTarget section */ 423 424 /* Begin PBXProject section */ 425 83CBB9F71A601CBA00E9B192 /* Project object */ = { 426 isa = PBXProject; 427 attributes = { 428 LastUpgradeCheck = 1130; 429 TargetAttributes = { 430 00E356ED1AD99517003FC87E = { 431 CreatedOnToolsVersion = 6.2; 432 TestTargetID = 13B07F861A680F5B00A75B9A; 433 }; 434 13B07F861A680F5B00A75B9A = { 435 LastSwiftMigration = 1120; 436 }; 437 }; 438 }; 439 buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ReactNativeProject" */; 440 compatibilityVersion = "Xcode 3.2"; 441 developmentRegion = en; 442 hasScannedForEncodings = 0; 443 knownRegions = ( 444 en, 445 Base, 446 ); 447 mainGroup = 83CBB9F61A601CBA00E9B192; 448 productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; 449 projectDirPath = ""; 450 projectRoot = ""; 451 targets = ( 452 13B07F861A680F5B00A75B9A /* ReactNativeProject */, 453 00E356ED1AD99517003FC87E /* ReactNativeProjectTests */, 454 ); 455 }; 456 /* End PBXProject section */ 457 458 /* Begin PBXResourcesBuildPhase section */ 459 00E356EC1AD99517003FC87E /* Resources */ = { 460 isa = PBXResourcesBuildPhase; 461 buildActionMask = 2147483647; 462 files = ( 463 ); 464 runOnlyForDeploymentPostprocessing = 0; 465 }; 466 13B07F8E1A680F5B00A75B9A /* Resources */ = { 467 isa = PBXResourcesBuildPhase; 468 buildActionMask = 2147483647; 469 files = ( 470 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 471 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, 472 ); 473 runOnlyForDeploymentPostprocessing = 0; 474 }; 475 /* End PBXResourcesBuildPhase section */ 476 477 /* Begin PBXShellScriptBuildPhase section */ 478 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { 479 isa = PBXShellScriptBuildPhase; 480 buildActionMask = 2147483647; 481 files = ( 482 ); 483 inputPaths = ( 484 ); 485 name = "Bundle React Native code and images"; 486 outputPaths = ( 487 ); 488 runOnlyForDeploymentPostprocessing = 0; 489 shellPath = /bin/sh; 490 shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; 491 }; 492 027ED265C5A283E45FB44549 /* [CP] Check Pods Manifest.lock */ = { 493 isa = PBXShellScriptBuildPhase; 494 buildActionMask = 2147483647; 495 files = ( 496 ); 497 inputFileListPaths = ( 498 ); 499 inputPaths = ( 500 "\${PODS_PODFILE_DIR_PATH}/Podfile.lock", 501 "\${PODS_ROOT}/Manifest.lock", 502 ); 503 name = "[CP] Check Pods Manifest.lock"; 504 outputFileListPaths = ( 505 ); 506 outputPaths = ( 507 "$(DERIVED_FILE_DIR)/Pods-ReactNativeProject-ReactNativeProjectTests-checkManifestLockResult.txt", 508 ); 509 runOnlyForDeploymentPostprocessing = 0; 510 shellPath = /bin/sh; 511 shellScript = "diff \\"\${PODS_PODFILE_DIR_PATH}/Podfile.lock\\" \\"\${PODS_ROOT}/Manifest.lock\\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \\"SUCCESS\\" > \\"\${SCRIPT_OUTPUT_FILE_0}\\"\n"; 512 showEnvVarsInLog = 0; 513 }; 514 238A755D8286A59031418306 /* [CP] Check Pods Manifest.lock */ = { 515 isa = PBXShellScriptBuildPhase; 516 buildActionMask = 2147483647; 517 files = ( 518 ); 519 inputFileListPaths = ( 520 ); 521 inputPaths = ( 522 "\${PODS_PODFILE_DIR_PATH}/Podfile.lock", 523 "\${PODS_ROOT}/Manifest.lock", 524 ); 525 name = "[CP] Check Pods Manifest.lock"; 526 outputFileListPaths = ( 527 ); 528 outputPaths = ( 529 "$(DERIVED_FILE_DIR)/Pods-ReactNativeProject-checkManifestLockResult.txt", 530 ); 531 runOnlyForDeploymentPostprocessing = 0; 532 shellPath = /bin/sh; 533 shellScript = "diff \\"\${PODS_PODFILE_DIR_PATH}/Podfile.lock\\" \\"\${PODS_ROOT}/Manifest.lock\\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \\"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \\"SUCCESS\\" > \\"\${SCRIPT_OUTPUT_FILE_0}\\"\n"; 534 showEnvVarsInLog = 0; 535 }; 536 FD10A7F022414F080027D42C /* Start Packager */ = { 537 isa = PBXShellScriptBuildPhase; 538 buildActionMask = 2147483647; 539 files = ( 540 ); 541 inputFileListPaths = ( 542 ); 543 inputPaths = ( 544 ); 545 name = "Start Packager"; 546 outputFileListPaths = ( 547 ); 548 outputPaths = ( 549 ); 550 runOnlyForDeploymentPostprocessing = 0; 551 shellPath = /bin/sh; 552 shellScript = "export RCT_METRO_PORT=\\"\${RCT_METRO_PORT:=8081}\\"\necho \\"export RCT_METRO_PORT=\${RCT_METRO_PORT}\\" > \\"\${SRCROOT}/../node_modules/react-native/scripts/.packager.env\\"\nif [ -z \\"\${RCT_NO_LAUNCH_PACKAGER+xxx}\\" ] ; then\n if nc -w 5 -z localhost \${RCT_METRO_PORT} ; then\n if ! curl -s \\"http://localhost:\${RCT_METRO_PORT}/status\\" | grep -q \\"packager-status:running\\" ; then\n echo \\"Port \${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\\"\n exit 2\n fi\n else\n open \\"$SRCROOT/../node_modules/expo/scripts/launchPackager.command\\" || echo \\"Can't start packager automatically\\"\n fi\nfi\n"; 553 showEnvVarsInLog = 0; 554 }; 555 /* End PBXShellScriptBuildPhase section */ 556 557 /* Begin PBXSourcesBuildPhase section */ 558 00E356EA1AD99517003FC87E /* Sources */ = { 559 isa = PBXSourcesBuildPhase; 560 buildActionMask = 2147483647; 561 files = ( 562 00E356F31AD99517003FC87E /* ReactNativeProjectTests.m in Sources */, 563 ); 564 runOnlyForDeploymentPostprocessing = 0; 565 }; 566 13B07F871A680F5B00A75B9A /* Sources */ = { 567 isa = PBXSourcesBuildPhase; 568 buildActionMask = 2147483647; 569 files = ( 570 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, 571 13B07FC11A68108700A75B9A /* main.m in Sources */, 572 ); 573 runOnlyForDeploymentPostprocessing = 0; 574 }; 575 /* End PBXSourcesBuildPhase section */ 576 577 /* Begin PBXTargetDependency section */ 578 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { 579 isa = PBXTargetDependency; 580 target = 13B07F861A680F5B00A75B9A /* ReactNativeProject */; 581 targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; 582 }; 583 /* End PBXTargetDependency section */ 584 585 /* Begin PBXVariantGroup section */ 586 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { 587 isa = PBXVariantGroup; 588 children = ( 589 13B07FB21A68108700A75B9A /* Base */, 590 ); 591 name = LaunchScreen.xib; 592 path = ReactNativeProject; 593 sourceTree = "<group>"; 594 }; 595 /* End PBXVariantGroup section */ 596 597 /* Begin XCBuildConfiguration section */ 598 00E356F61AD99517003FC87E /* Debug */ = { 599 isa = XCBuildConfiguration; 600 baseConfigurationReference = CE33E6645D2F2C6E99FA9E58 /* Pods-ReactNativeProject-ReactNativeProjectTests.debug.xcconfig */; 601 buildSettings = { 602 BUNDLE_LOADER = "$(TEST_HOST)"; 603 GCC_PREPROCESSOR_DEFINITIONS = ( 604 "DEBUG=1", 605 "$(inherited)", 606 ); 607 INFOPLIST_FILE = ReactNativeProjectTests/Info.plist; 608 IPHONEOS_DEPLOYMENT_TARGET = 9.0; 609 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 610 OTHER_LDFLAGS = ( 611 "-ObjC", 612 "-lc++", 613 "$(inherited)", 614 ); 615 PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 616 PRODUCT_NAME = "$(TARGET_NAME)"; 617 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ReactNativeProject.app/ReactNativeProject"; 618 }; 619 name = Debug; 620 }; 621 00E356F71AD99517003FC87E /* Release */ = { 622 isa = XCBuildConfiguration; 623 baseConfigurationReference = 8CCF8538F230DE9FA56C3A08 /* Pods-ReactNativeProject-ReactNativeProjectTests.release.xcconfig */; 624 buildSettings = { 625 BUNDLE_LOADER = "$(TEST_HOST)"; 626 COPY_PHASE_STRIP = NO; 627 INFOPLIST_FILE = ReactNativeProjectTests/Info.plist; 628 IPHONEOS_DEPLOYMENT_TARGET = 9.0; 629 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 630 OTHER_LDFLAGS = ( 631 "-ObjC", 632 "-lc++", 633 "$(inherited)", 634 ); 635 PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 636 PRODUCT_NAME = "$(TARGET_NAME)"; 637 TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ReactNativeProject.app/ReactNativeProject"; 638 }; 639 name = Release; 640 }; 641 13B07F941A680F5B00A75B9A /* Debug */ = { 642 isa = XCBuildConfiguration; 643 baseConfigurationReference = F15EE64A4C9D5BC341D8E4BC /* Pods-ReactNativeProject.debug.xcconfig */; 644 buildSettings = { 645 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 646 CLANG_ENABLE_MODULES = YES; 647 CURRENT_PROJECT_VERSION = 1; 648 ENABLE_BITCODE = NO; 649 GCC_PREPROCESSOR_DEFINITIONS = ( 650 "$(inherited)", 651 "FB_SONARKIT_ENABLED=1", 652 ); 653 INFOPLIST_FILE = ReactNativeProject/Info.plist; 654 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 655 OTHER_LDFLAGS = ( 656 "$(inherited)", 657 "-ObjC", 658 "-lc++", 659 ); 660 PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 661 PRODUCT_NAME = ReactNativeProject; 662 SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 663 SWIFT_VERSION = 5.0; 664 VERSIONING_SYSTEM = "apple-generic"; 665 }; 666 name = Debug; 667 }; 668 13B07F951A680F5B00A75B9A /* Release */ = { 669 isa = XCBuildConfiguration; 670 baseConfigurationReference = 92F15A6F91E71246CC5491A1 /* Pods-ReactNativeProject.release.xcconfig */; 671 buildSettings = { 672 ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 673 CLANG_ENABLE_MODULES = YES; 674 CURRENT_PROJECT_VERSION = 1; 675 INFOPLIST_FILE = ReactNativeProject/Info.plist; 676 LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 677 OTHER_LDFLAGS = ( 678 "$(inherited)", 679 "-ObjC", 680 "-lc++", 681 ); 682 PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 683 PRODUCT_NAME = ReactNativeProject; 684 SWIFT_VERSION = 5.0; 685 VERSIONING_SYSTEM = "apple-generic"; 686 }; 687 name = Release; 688 }; 689 83CBBA201A601CBA00E9B192 /* Debug */ = { 690 isa = XCBuildConfiguration; 691 buildSettings = { 692 ALWAYS_SEARCH_USER_PATHS = NO; 693 CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 694 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 695 CLANG_CXX_LIBRARY = "libc++"; 696 CLANG_ENABLE_MODULES = YES; 697 CLANG_ENABLE_OBJC_ARC = YES; 698 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 699 CLANG_WARN_BOOL_CONVERSION = YES; 700 CLANG_WARN_COMMA = YES; 701 CLANG_WARN_CONSTANT_CONVERSION = YES; 702 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 703 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 704 CLANG_WARN_EMPTY_BODY = YES; 705 CLANG_WARN_ENUM_CONVERSION = YES; 706 CLANG_WARN_INFINITE_RECURSION = YES; 707 CLANG_WARN_INT_CONVERSION = YES; 708 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 709 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 710 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 711 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 712 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 713 CLANG_WARN_STRICT_PROTOTYPES = YES; 714 CLANG_WARN_SUSPICIOUS_MOVE = YES; 715 CLANG_WARN_UNREACHABLE_CODE = YES; 716 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 717 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 718 COPY_PHASE_STRIP = NO; 719 ENABLE_STRICT_OBJC_MSGSEND = YES; 720 ENABLE_TESTABILITY = YES; 721 GCC_C_LANGUAGE_STANDARD = gnu99; 722 GCC_DYNAMIC_NO_PIC = NO; 723 GCC_NO_COMMON_BLOCKS = YES; 724 GCC_OPTIMIZATION_LEVEL = 0; 725 GCC_PREPROCESSOR_DEFINITIONS = ( 726 "DEBUG=1", 727 "$(inherited)", 728 ); 729 GCC_SYMBOLS_PRIVATE_EXTERN = NO; 730 GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 731 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 732 GCC_WARN_UNDECLARED_SELECTOR = YES; 733 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 734 GCC_WARN_UNUSED_FUNCTION = YES; 735 GCC_WARN_UNUSED_VARIABLE = YES; 736 IPHONEOS_DEPLOYMENT_TARGET = 9.0; 737 LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; 738 LIBRARY_SEARCH_PATHS = ( 739 "\\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\\"", 740 "\\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\\"", 741 "\\"$(inherited)\\"", 742 ); 743 MTL_ENABLE_DEBUG_INFO = YES; 744 ONLY_ACTIVE_ARCH = YES; 745 SDKROOT = iphoneos; 746 }; 747 name = Debug; 748 }; 749 83CBBA211A601CBA00E9B192 /* Release */ = { 750 isa = XCBuildConfiguration; 751 buildSettings = { 752 ALWAYS_SEARCH_USER_PATHS = NO; 753 CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 754 CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 755 CLANG_CXX_LIBRARY = "libc++"; 756 CLANG_ENABLE_MODULES = YES; 757 CLANG_ENABLE_OBJC_ARC = YES; 758 CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 759 CLANG_WARN_BOOL_CONVERSION = YES; 760 CLANG_WARN_COMMA = YES; 761 CLANG_WARN_CONSTANT_CONVERSION = YES; 762 CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 763 CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 764 CLANG_WARN_EMPTY_BODY = YES; 765 CLANG_WARN_ENUM_CONVERSION = YES; 766 CLANG_WARN_INFINITE_RECURSION = YES; 767 CLANG_WARN_INT_CONVERSION = YES; 768 CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 769 CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 770 CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 771 CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 772 CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 773 CLANG_WARN_STRICT_PROTOTYPES = YES; 774 CLANG_WARN_SUSPICIOUS_MOVE = YES; 775 CLANG_WARN_UNREACHABLE_CODE = YES; 776 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 777 "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 778 COPY_PHASE_STRIP = YES; 779 ENABLE_NS_ASSERTIONS = NO; 780 ENABLE_STRICT_OBJC_MSGSEND = YES; 781 GCC_C_LANGUAGE_STANDARD = gnu99; 782 GCC_NO_COMMON_BLOCKS = YES; 783 GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 784 GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 785 GCC_WARN_UNDECLARED_SELECTOR = YES; 786 GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 787 GCC_WARN_UNUSED_FUNCTION = YES; 788 GCC_WARN_UNUSED_VARIABLE = YES; 789 IPHONEOS_DEPLOYMENT_TARGET = 9.0; 790 LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; 791 LIBRARY_SEARCH_PATHS = ( 792 "\\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\\"", 793 "\\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\\"", 794 "\\"$(inherited)\\"", 795 ); 796 MTL_ENABLE_DEBUG_INFO = NO; 797 SDKROOT = iphoneos; 798 VALIDATE_PRODUCT = YES; 799 }; 800 name = Release; 801 }; 802 /* End XCBuildConfiguration section */ 803 804 /* Begin XCConfigurationList section */ 805 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ReactNativeProjectTests" */ = { 806 isa = XCConfigurationList; 807 buildConfigurations = ( 808 00E356F61AD99517003FC87E /* Debug */, 809 00E356F71AD99517003FC87E /* Release */, 810 ); 811 defaultConfigurationIsVisible = 0; 812 defaultConfigurationName = Release; 813 }; 814 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ReactNativeProject" */ = { 815 isa = XCConfigurationList; 816 buildConfigurations = ( 817 13B07F941A680F5B00A75B9A /* Debug */, 818 13B07F951A680F5B00A75B9A /* Release */, 819 ); 820 defaultConfigurationIsVisible = 0; 821 defaultConfigurationName = Release; 822 }; 823 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ReactNativeProject" */ = { 824 isa = XCConfigurationList; 825 buildConfigurations = ( 826 83CBBA201A601CBA00E9B192 /* Debug */, 827 83CBBA211A601CBA00E9B192 /* Release */, 828 ); 829 defaultConfigurationIsVisible = 0; 830 defaultConfigurationName = Release; 831 }; 832 /* End XCConfigurationList section */ 833 }; 834 rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; 835 } 836 `, 837 'ios/Podfile.properties.json': `\ 838 { 839 "expo.jsEngine": "jsc" 840 }`, 841 // Android 842 'android/app/src/main/java/com/reactnativeproject/MainActivity.java': `package com.reactnativeproject; 843 844 import com.facebook.react.ReactActivity; 845 846 public class MainActivity extends ReactActivity { 847 /** 848 * Returns the name of the main component registered from JavaScript. This is used to schedule 849 * rendering of the component. 850 */ 851 @Override 852 protected String getMainComponentName() { 853 return "react-native-project"; 854 } 855 } 856 `, 857 'android/app/src/main/java/com/reactnativeproject/MainApplication.java': `package com.reactnativeproject; 858 859 import android.app.Application; 860 import android.content.Context; 861 import android.net.Uri; 862 863 import com.facebook.react.PackageList; 864 import com.facebook.react.ReactApplication; 865 import com.facebook.react.ReactInstanceManager; 866 import com.facebook.react.ReactNativeHost; 867 import com.facebook.react.ReactPackage; 868 import com.facebook.react.shell.MainReactPackage; 869 import com.facebook.soloader.SoLoader; 870 import com.bacon.mydevicefamilyproject.generated.BasePackageList; 871 872 import org.unimodules.adapters.react.ReactAdapterPackage; 873 import org.unimodules.adapters.react.ModuleRegistryAdapter; 874 import org.unimodules.adapters.react.ReactModuleRegistryProvider; 875 import org.unimodules.core.interfaces.Package; 876 import org.unimodules.core.interfaces.SingletonModule; 877 import expo.modules.constants.ConstantsPackage; 878 import expo.modules.permissions.PermissionsPackage; 879 import expo.modules.filesystem.FileSystemPackage; 880 import expo.modules.updates.UpdatesController; 881 882 import java.lang.reflect.InvocationTargetException; 883 import java.util.Arrays; 884 import java.util.List; 885 import javax.annotation.Nullable; 886 887 public class MainApplication extends Application implements ReactApplication { 888 private final ReactModuleRegistryProvider mModuleRegistryProvider = new ReactModuleRegistryProvider( 889 new BasePackageList().getPackageList() 890 ); 891 892 private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { 893 @Override 894 public boolean getUseDeveloperSupport() { 895 return BuildConfig.DEBUG; 896 } 897 898 @Override 899 protected List<ReactPackage> getPackages() { 900 List<ReactPackage> packages = new PackageList(this).getPackages(); 901 packages.add(new ModuleRegistryAdapter(mModuleRegistryProvider)); 902 return packages; 903 } 904 905 @Override 906 protected String getJSMainModuleName() { 907 return ".expo/.virtual-metro-entry"; 908 } 909 910 @Override 911 protected @Nullable String getJSBundleFile() { 912 if (BuildConfig.DEBUG) { 913 return super.getJSBundleFile(); 914 } else { 915 return UpdatesController.getInstance().getLaunchAssetFile(); 916 } 917 } 918 919 @Override 920 protected @Nullable String getBundleAssetName() { 921 if (BuildConfig.DEBUG) { 922 return super.getBundleAssetName(); 923 } else { 924 return UpdatesController.getInstance().getBundleAssetName(); 925 } 926 } 927 }; 928 929 @Override 930 public ReactNativeHost getReactNativeHost() { 931 return mReactNativeHost; 932 } 933 934 @Override 935 public void onCreate() { 936 super.onCreate(); 937 SoLoader.init(this, /* native exopackage */ false); 938 939 if (!BuildConfig.DEBUG) { 940 UpdatesController.initialize(this); 941 } 942 943 initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); 944 } 945 946 /** 947 * Loads Flipper in React Native templates. Call this in the onCreate method with something like 948 * initializeFlipper(this, getReactNativeHost().getReactInstanceManager()); 949 * 950 * @param context 951 * @param reactInstanceManager 952 */ 953 private static void initializeFlipper( 954 Context context, ReactInstanceManager reactInstanceManager) { 955 if (BuildConfig.DEBUG) { 956 try { 957 /* 958 We use reflection here to pick up the class that initializes Flipper, 959 since Flipper library is not available in release mode 960 */ 961 Class<?> aClass = Class.forName("com.rndiffapp.ReactNativeFlipper"); 962 aClass 963 .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class) 964 .invoke(null, context, reactInstanceManager); 965 } catch (ClassNotFoundException e) { 966 e.printStackTrace(); 967 } catch (NoSuchMethodException e) { 968 e.printStackTrace(); 969 } catch (IllegalAccessException e) { 970 e.printStackTrace(); 971 } catch (InvocationTargetException e) { 972 e.printStackTrace(); 973 } 974 } 975 } 976 } 977 `, 978 'android/app/src/main/AndroidManifest.xml': `<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.reactnativeproject"> 979 980 <uses-permission android:name="android.permission.INTERNET" /> 981 982 <queries> 983 <!-- Support checking for http(s) links via the Linking API --> 984 <intent> 985 <action android:name="android.intent.action.VIEW" /> 986 <category android:name="android.intent.category.BROWSABLE" /> 987 <data android:scheme="https" /> 988 </intent> 989 </queries> 990 991 <application 992 android:name=".MainApplication" 993 android:label="@string/app_name" 994 android:allowBackup="false" 995 android:theme="@style/AppTheme"> 996 <activity 997 android:name=".MainActivity" 998 android:label="@string/app_name" 999 android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" 1000 android:launchMode="singleTask" 1001 android:windowSoftInputMode="adjustResize"> 1002 <intent-filter> 1003 <action android:name="android.intent.action.MAIN" /> 1004 <category android:name="android.intent.category.LAUNCHER" /> 1005 </intent-filter> 1006 </activity> 1007 <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" /> 1008 </application> 1009 1010 </manifest> 1011 `, 1012 'android/app/src/main/res/values/styles.xml': `<?xml version="1.0" encoding="utf-8"?> 1013 <resources> 1014 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 1015 <!-- Customize your theme here. --> 1016 <item name="android:textColor">#000000</item> 1017 </style> 1018 </resources> 1019 `, 1020 'android/gradle.properties': `# Project-wide Gradle settings. 1021 1022 # IDE (e.g. Android Studio) users: 1023 # Gradle settings configured through the IDE *will override* 1024 # any settings specified in this file. 1025 1026 # For more details on how to configure your build environment visit 1027 # http://www.gradle.org/docs/current/userguide/build_environment.html 1028 1029 # Specifies the JVM arguments used for the daemon process. 1030 # The setting is particularly useful for tweaking memory settings. 1031 # Default value: -Xmx1024m -XX:MaxPermSize=256m 1032 # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 1033 1034 # When configured, Gradle will run in incubating parallel mode. 1035 # This option should only be used with decoupled projects. More details, visit 1036 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 1037 # org.gradle.parallel=true 1038 1039 # AndroidX package structure to make it clearer which packages are bundled with the 1040 # Android operating system, and which are packaged with your app's APK 1041 # https://developer.android.com/topic/libraries/support-library/androidx-rn 1042 android.useAndroidX=true 1043 1044 # Automatically convert third-party libraries to use AndroidX 1045 android.enableJetifier=true 1046 1047 # Version of flipper SDK to use with React Native 1048 FLIPPER_VERSION=0.54.0 1049 `, 1050 1051 'android/settings.gradle': `rootProject.name = 'HelloWorld' 1052 1053 apply from: '../node_modules/react-native-unimodules/gradle.groovy' 1054 includeUnimodulesProjects() 1055 1056 apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); 1057 applyNativeModulesSettingsGradle(settings) 1058 1059 include ':app' 1060 `, 1061 'android/build.gradle': `// Top-level build file where you can add configuration options common to all sub-projects/modules. 1062 1063 buildscript { 1064 ext { 1065 buildToolsVersion = "29.0.2" 1066 minSdkVersion = 21 1067 compileSdkVersion = 29 1068 targetSdkVersion = 29 1069 } 1070 repositories { 1071 google() 1072 jcenter() 1073 } 1074 dependencies { 1075 classpath("com.android.tools.build:gradle:3.5.3") 1076 1077 // NOTE: Do not place your application dependencies here; they belong 1078 // in the individual module build.gradle files 1079 } 1080 } 1081 1082 allprojects { 1083 repositories { 1084 mavenLocal() 1085 maven { 1086 // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 1087 url("$rootDir/../node_modules/react-native/android") 1088 } 1089 maven { 1090 // Android JSC is installed from npm 1091 url("$rootDir/../node_modules/jsc-android/dist") 1092 } 1093 1094 google() 1095 jcenter() 1096 maven { url 'https://www.jitpack.io' } 1097 } 1098 }`, 1099 'android/app/build.gradle': `apply plugin: "com.android.application" 1100 1101 import com.android.build.OutputFile 1102 1103 project.ext.react = [ 1104 enableHermes: false 1105 ] 1106 1107 apply from: '../../node_modules/react-native-unimodules/gradle.groovy' 1108 apply from: "../../node_modules/react-native/react.gradle" 1109 apply from: "../../node_modules/expo-updates/scripts/create-manifest-android.gradle" 1110 1111 def enableSeparateBuildPerCPUArchitecture = false 1112 def enableProguardInReleaseBuilds = false 1113 def jscFlavor = 'org.webkit:android-jsc:+' 1114 def enableHermes = project.ext.react.get("enableHermes", false); 1115 1116 android { 1117 compileSdkVersion rootProject.ext.compileSdkVersion 1118 1119 compileOptions { 1120 sourceCompatibility JavaVersion.VERSION_1_8 1121 targetCompatibility JavaVersion.VERSION_1_8 1122 } 1123 1124 defaultConfig { 1125 applicationId 'com.bacon.mydevicefamilyproject' 1126 minSdkVersion rootProject.ext.minSdkVersion 1127 targetSdkVersion rootProject.ext.targetSdkVersion 1128 versionCode 1 1129 versionName "1.0.0" 1130 } 1131 splits { 1132 abi { 1133 reset() 1134 enable enableSeparateBuildPerCPUArchitecture 1135 universalApk false // If true, also generate a universal APK 1136 include "armeabi-v7a", "x86", "arm64-v8a", "x86_64" 1137 } 1138 } 1139 signingConfigs { 1140 debug { 1141 storeFile file('debug.keystore') 1142 storePassword 'android' 1143 keyAlias 'androiddebugkey' 1144 keyPassword 'android' 1145 } 1146 } 1147 buildTypes { 1148 debug { 1149 signingConfig signingConfigs.debug 1150 } 1151 release { 1152 signingConfig signingConfigs.debug 1153 minifyEnabled enableProguardInReleaseBuilds 1154 proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 1155 } 1156 } 1157 applicationVariants.all { variant -> 1158 variant.outputs.each { output -> 1159 def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4] 1160 def abi = output.getFilter(OutputFile.ABI) 1161 if (abi != null) { 1162 output.versionCodeOverride = 1163 versionCodes.get(abi) * 1048576 + defaultConfig.versionCode 1164 } 1165 1166 } 1167 } 1168 } 1169 1170 dependencies { 1171 implementation fileTree(dir: "libs", include: ["*.jar"]) 1172 implementation "com.facebook.react:react-native:+" // From node_modules 1173 implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" 1174 debugImplementation("com.facebook.flipper:flipper:\${FLIPPER_VERSION}") { 1175 exclude group:'com.facebook.fbjni' 1176 } 1177 debugImplementation("com.facebook.flipper:flipper-network-plugin:\${FLIPPER_VERSION}") { 1178 exclude group:'com.facebook.flipper' 1179 exclude group:'com.squareup.okhttp3', module:'okhttp' 1180 } 1181 debugImplementation("com.facebook.flipper:flipper-fresco-plugin:\${FLIPPER_VERSION}") { 1182 exclude group:'com.facebook.flipper' 1183 } 1184 addUnimodulesDependencies() 1185 1186 if (enableHermes) { 1187 def hermesPath = "../../node_modules/hermes-engine/android/"; 1188 debugImplementation files(hermesPath + "hermes-debug.aar") 1189 releaseImplementation files(hermesPath + "hermes-release.aar") 1190 } else { 1191 implementation jscFlavor 1192 } 1193 } 1194 task copyDownloadableDepsToLibs(type: Copy) { 1195 from configurations.compile 1196 into 'libs' 1197 } 1198 apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)`, 1199}; 1200