├── .bundle └── config ├── .eslintrc.js ├── .gitignore ├── .prettierrc ├── .watchmanconfig ├── App.tsx ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── __tests__ └── App.test.tsx ├── android ├── app │ ├── build.gradle │ ├── debug.keystore │ ├── proguard-rules.pro │ └── src │ │ ├── debug │ │ └── AndroidManifest.xml │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── virostarterkit │ │ │ ├── MainActivity.kt │ │ │ └── MainApplication.kt │ │ └── res │ │ ├── drawable │ │ └── rn_edit_text_material.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── app.json ├── babel.config.js ├── index.js ├── ios ├── .xcode.env ├── Podfile ├── Podfile.lock ├── ViroStarterKit.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ └── ViroStarterKit.xcscheme ├── ViroStarterKit.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist ├── ViroStarterKit │ ├── AppDelegate.h │ ├── AppDelegate.mm │ ├── Images.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Info.plist │ ├── LaunchScreen.storyboard │ └── main.m └── ViroStarterKitTests │ ├── Info.plist │ └── ViroStarterKitTests.m ├── jest.config.js ├── metro.config.js ├── package-lock.json ├── package.json └── tsconfig.json /.bundle/config: -------------------------------------------------------------------------------- 1 | BUNDLE_PATH: "vendor/bundle" 2 | BUNDLE_FORCE_RUBY_PLATFORM: 1 3 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: '@react-native', 4 | }; 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | ios/.xcode.env.local 24 | 25 | # Android/IntelliJ 26 | # 27 | build/ 28 | .idea 29 | .gradle 30 | local.properties 31 | *.iml 32 | *.hprof 33 | .cxx/ 34 | *.keystore 35 | !debug.keystore 36 | 37 | # node.js 38 | # 39 | node_modules/ 40 | npm-debug.log 41 | yarn-error.log 42 | 43 | # fastlane 44 | # 45 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 46 | # screenshots whenever they are needed. 47 | # For more information about the recommended setup visit: 48 | # https://docs.fastlane.tools/best-practices/source-control/ 49 | 50 | **/fastlane/report.xml 51 | **/fastlane/Preview.html 52 | **/fastlane/screenshots 53 | **/fastlane/test_output 54 | 55 | # Bundle artifact 56 | *.jsbundle 57 | 58 | # Ruby / CocoaPods 59 | /ios/Pods/ 60 | /vendor/bundle/ 61 | 62 | # Temporary files created by Metro to check the health of the file watcher 63 | .metro-health-check* 64 | 65 | # testing 66 | /coverage 67 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "trailingComma": "es5", 3 | "tabWidth": 2, 4 | "semi": true, 5 | "singleQuote": false 6 | } -------------------------------------------------------------------------------- /.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /App.tsx: -------------------------------------------------------------------------------- 1 | import { 2 | ViroARScene, 3 | ViroARSceneNavigator, 4 | ViroText, 5 | ViroTrackingReason, 6 | ViroTrackingStateConstants, 7 | } from "@reactvision/react-viro"; 8 | import React, { useState } from "react"; 9 | import { StyleSheet } from "react-native"; 10 | 11 | const HelloWorldSceneAR = () => { 12 | const [text, setText] = useState("Initializing AR..."); 13 | 14 | function onInitialized(state: any, reason: ViroTrackingReason) { 15 | console.log("onInitialized", state, reason); 16 | if (state === ViroTrackingStateConstants.TRACKING_NORMAL) { 17 | setText("Hello World!"); 18 | } else if (state === ViroTrackingStateConstants.TRACKING_UNAVAILABLE) { 19 | // Handle loss of tracking 20 | } 21 | } 22 | 23 | return ( 24 | 25 | 31 | 32 | ); 33 | }; 34 | 35 | export default () => { 36 | return ( 37 | 44 | ); 45 | }; 46 | 47 | var styles = StyleSheet.create({ 48 | f1: { flex: 1 }, 49 | helloWorldTextStyle: { 50 | fontFamily: "Arial", 51 | fontSize: 30, 52 | color: "#ffffff", 53 | textAlignVertical: "center", 54 | textAlign: "center", 55 | }, 56 | }); 57 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version 4 | ruby ">= 2.6.10" 5 | 6 | # Cocoapods 1.15 introduced a bug which break the build. We will remove the upper 7 | # bound in the template on Cocoapods with next React Native release. 8 | gem 'cocoapods', '>= 1.13', '< 1.15' 9 | gem 'activesupport', '>= 6.1.7.5', '< 7.1.0' 10 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | CFPropertyList (3.0.6) 5 | rexml 6 | activesupport (6.1.7.6) 7 | concurrent-ruby (~> 1.0, >= 1.0.2) 8 | i18n (>= 1.6, < 2) 9 | minitest (>= 5.1) 10 | tzinfo (~> 2.0) 11 | zeitwerk (~> 2.3) 12 | addressable (2.8.6) 13 | public_suffix (>= 2.0.2, < 6.0) 14 | algoliasearch (1.27.5) 15 | httpclient (~> 2.8, >= 2.8.3) 16 | json (>= 1.5.1) 17 | atomos (0.1.3) 18 | claide (1.1.0) 19 | cocoapods (1.14.3) 20 | addressable (~> 2.8) 21 | claide (>= 1.0.2, < 2.0) 22 | cocoapods-core (= 1.14.3) 23 | cocoapods-deintegrate (>= 1.0.3, < 2.0) 24 | cocoapods-downloader (>= 2.1, < 3.0) 25 | cocoapods-plugins (>= 1.0.0, < 2.0) 26 | cocoapods-search (>= 1.0.0, < 2.0) 27 | cocoapods-trunk (>= 1.6.0, < 2.0) 28 | cocoapods-try (>= 1.1.0, < 2.0) 29 | colored2 (~> 3.1) 30 | escape (~> 0.0.4) 31 | fourflusher (>= 2.3.0, < 3.0) 32 | gh_inspector (~> 1.0) 33 | molinillo (~> 0.8.0) 34 | nap (~> 1.0) 35 | ruby-macho (>= 2.3.0, < 3.0) 36 | xcodeproj (>= 1.23.0, < 2.0) 37 | cocoapods-core (1.14.3) 38 | activesupport (>= 5.0, < 8) 39 | addressable (~> 2.8) 40 | algoliasearch (~> 1.0) 41 | concurrent-ruby (~> 1.1) 42 | fuzzy_match (~> 2.0.4) 43 | nap (~> 1.0) 44 | netrc (~> 0.11) 45 | public_suffix (~> 4.0) 46 | typhoeus (~> 1.0) 47 | cocoapods-deintegrate (1.0.5) 48 | cocoapods-downloader (2.1) 49 | cocoapods-plugins (1.0.0) 50 | nap 51 | cocoapods-search (1.0.1) 52 | cocoapods-trunk (1.6.0) 53 | nap (>= 0.8, < 2.0) 54 | netrc (~> 0.11) 55 | cocoapods-try (1.2.0) 56 | colored2 (3.1.2) 57 | concurrent-ruby (1.2.3) 58 | escape (0.0.4) 59 | ethon (0.16.0) 60 | ffi (>= 1.15.0) 61 | ffi (1.16.3) 62 | fourflusher (2.3.1) 63 | fuzzy_match (2.0.4) 64 | gh_inspector (1.1.3) 65 | httpclient (2.8.3) 66 | i18n (1.14.1) 67 | concurrent-ruby (~> 1.0) 68 | json (2.7.1) 69 | minitest (5.21.2) 70 | molinillo (0.8.0) 71 | nanaimo (0.3.0) 72 | nap (1.1.0) 73 | netrc (0.11.0) 74 | public_suffix (4.0.7) 75 | rexml (3.2.6) 76 | ruby-macho (2.5.1) 77 | typhoeus (1.4.1) 78 | ethon (>= 0.9.0) 79 | tzinfo (2.0.6) 80 | concurrent-ruby (~> 1.0) 81 | xcodeproj (1.24.0) 82 | CFPropertyList (>= 2.3.3, < 4.0) 83 | atomos (~> 0.1.3) 84 | claide (>= 1.0.2, < 2.0) 85 | colored2 (~> 3.1) 86 | nanaimo (~> 0.3.0) 87 | rexml (~> 3.2.4) 88 | zeitwerk (2.6.12) 89 | 90 | PLATFORMS 91 | ruby 92 | 93 | DEPENDENCIES 94 | activesupport (>= 6.1.7.5, < 7.1.0) 95 | cocoapods (>= 1.13, < 1.15) 96 | 97 | RUBY VERSION 98 | ruby 2.6.10p210 99 | 100 | BUNDLED WITH 101 | 1.17.2 102 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Viro Community 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 | # Viro Starter Kit 2 | 3 | This is a new [**React Native**](https://reactnative.dev) project, set up with `@reactvision/react-viro`. 4 | 5 | ## How to Install Viro in an existing project? 6 | 7 | If you are integrating ViroReact into an existing project, have a look at our [Installation instructions](https://viro-community.readme.io/docs/installation-instructions). 8 | 9 | ## Getting Started 10 | 11 | > **Note**: Make sure you have completed the [React Native - Environment Setup](https://reactnative.dev/docs/environment-setup) instructions. Stop before you get to the `Creating a new application` section; we have done that for you! 12 | 13 | ## Step 1: Install Dependencies 14 | 15 | ```bash 16 | npm install 17 | ``` 18 | 19 | ### iOS only: 20 | 21 | ```bash 22 | cd ios 23 | pod install 24 | cd .. 25 | ``` 26 | 27 | ## Step 2: Start the Metro Server 28 | 29 | First, you will need to start **Metro**, the JavaScript _bundler_ that ships _with_ React Native. 30 | 31 | To start Metro, run the following command from the _root_ of your React Native project: 32 | 33 | ```bash 34 | npm start 35 | ``` 36 | 37 | ## Step 3: Start your Application 38 | 39 | > **Warning**: Due to limitations of the Apple Simulator and the Android Emulator, you must run your project on a physical device. 40 | 41 | Let Metro Bundler run in its _own_ terminal. Open a _new_ terminal from the _root_ of your React Native project. Run the following command to start your _Android_ or _iOS_ app: 42 | 43 | ```bash 44 | # iOS 45 | npx react-native run-ios 46 | # Android 47 | npx react-native run-android 48 | ``` 49 | 50 | If everything is set up _correctly_, you should see your new app running on you device. 51 | 52 | #### Install CocoaPods 53 | 54 | ```bash 55 | cd ios 56 | pod install 57 | cd .. 58 | ``` 59 | 60 | ```bash 61 | # using npm 62 | npm run ios 63 | 64 | # OR using Yarn 65 | yarn ios 66 | ``` 67 | 68 | If everything is set up _correctly_, you should see your new app running in your _Android Emulator_ or _iOS Simulator_ shortly provided you have set up your emulator/simulator correctly. 69 | 70 | This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively. 71 | 72 | ## Step 4: Modifying your App 73 | 74 | Now that you have successfully run the app, let's modify it. 75 | 76 | 1. Open `App.tsx` in your text editor of choice and edit some lines. 77 | 2. For **Android**: Press the R key twice or select **"Reload"** from the **Developer Menu** (Ctrl + M (on Window and Linux) or Cmd ⌘ + M (on macOS)) to see your changes! 78 | 79 | ## Next Steps 80 | 81 | Check out our [documentation](https://viro-community.readme.io/) for guides, examples, and more! 82 | 83 | ## Need help? 84 | 85 | [Reach us in Discord.](https://discord.gg/YfxDBGTxvG) or submit an issue! 86 | -------------------------------------------------------------------------------- /__tests__/App.test.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import 'react-native'; 6 | import React from 'react'; 7 | import App from '../App'; 8 | 9 | // Note: import explicitly to use the types shipped with jest. 10 | import {it} from '@jest/globals'; 11 | 12 | // Note: test renderer must be required after react-native. 13 | import renderer from 'react-test-renderer'; 14 | 15 | it('renders correctly', () => { 16 | renderer.create(); 17 | }); 18 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.android.application" 2 | apply plugin: "org.jetbrains.kotlin.android" 3 | apply plugin: "com.facebook.react" 4 | 5 | /** 6 | * This is the configuration block to customize your React Native Android app. 7 | * By default you don't need to apply any configuration, just uncomment the lines you need. 8 | */ 9 | react { 10 | /* Folders */ 11 | // The root of your project, i.e. where "package.json" lives. Default is '..' 12 | // root = file("../") 13 | // The folder where the react-native NPM package is. Default is ../node_modules/react-native 14 | // reactNativeDir = file("../node_modules/react-native") 15 | // The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen 16 | // codegenDir = file("../node_modules/@react-native/codegen") 17 | // The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js 18 | // cliFile = file("../node_modules/react-native/cli.js") 19 | 20 | /* Variants */ 21 | // The list of variants to that are debuggable. For those we're going to 22 | // skip the bundling of the JS bundle and the assets. By default is just 'debug'. 23 | // If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants. 24 | // debuggableVariants = ["liteDebug", "prodDebug"] 25 | 26 | /* Bundling */ 27 | // A list containing the node command and its flags. Default is just 'node'. 28 | // nodeExecutableAndArgs = ["node"] 29 | // 30 | // The command to run when bundling. By default is 'bundle' 31 | // bundleCommand = "ram-bundle" 32 | // 33 | // The path to the CLI configuration file. Default is empty. 34 | // bundleConfig = file(../rn-cli.config.js) 35 | // 36 | // The name of the generated asset file containing your JS bundle 37 | // bundleAssetName = "MyApplication.android.bundle" 38 | // 39 | // The entry file for bundle generation. Default is 'index.android.js' or 'index.js' 40 | // entryFile = file("../js/MyApplication.android.js") 41 | // 42 | // A list of extra flags to pass to the 'bundle' commands. 43 | // See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle 44 | // extraPackagerArgs = [] 45 | 46 | /* Hermes Commands */ 47 | // The hermes compiler command to run. By default it is 'hermesc' 48 | // hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc" 49 | // 50 | // The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map" 51 | // hermesFlags = ["-O", "-output-source-map"] 52 | } 53 | 54 | /** 55 | * Set this to true to Run Proguard on Release builds to minify the Java bytecode. 56 | */ 57 | def enableProguardInReleaseBuilds = false 58 | 59 | /** 60 | * The preferred build flavor of JavaScriptCore (JSC) 61 | * 62 | * For example, to use the international variant, you can use: 63 | * `def jscFlavor = 'org.webkit:android-jsc-intl:+'` 64 | * 65 | * The international variant includes ICU i18n library and necessary data 66 | * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that 67 | * give correct results when using with locales other than en-US. Note that 68 | * this variant is about 6MiB larger per architecture than default. 69 | */ 70 | def jscFlavor = 'org.webkit:android-jsc:+' 71 | 72 | android { 73 | ndkVersion rootProject.ext.ndkVersion 74 | buildToolsVersion rootProject.ext.buildToolsVersion 75 | compileSdk rootProject.ext.compileSdkVersion 76 | 77 | namespace "com.virostarterkit" 78 | defaultConfig { 79 | applicationId "com.virostarterkit" 80 | minSdkVersion rootProject.ext.minSdkVersion 81 | targetSdkVersion rootProject.ext.targetSdkVersion 82 | versionCode 1 83 | versionName "1.0" 84 | } 85 | signingConfigs { 86 | debug { 87 | storeFile file('debug.keystore') 88 | storePassword 'android' 89 | keyAlias 'androiddebugkey' 90 | keyPassword 'android' 91 | } 92 | } 93 | buildTypes { 94 | debug { 95 | signingConfig signingConfigs.debug 96 | } 97 | release { 98 | // Caution! In production, you need to generate your own keystore file. 99 | // see https://reactnative.dev/docs/signed-apk-android. 100 | signingConfig signingConfigs.debug 101 | minifyEnabled enableProguardInReleaseBuilds 102 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 103 | } 104 | } 105 | } 106 | 107 | dependencies { 108 | // The version of react-native is set by the React Native Gradle Plugin 109 | implementation("com.facebook.react:react-android") 110 | implementation("com.facebook.react:flipper-integration") 111 | 112 | // ======================================================================== 113 | // https://viro-community.readme.io/docs/installation-instructions#2-in-your-androidappbuildgradle-add-the-following-lines-to-the-dependencies-section 114 | implementation project(':gvr_common') 115 | implementation project(':arcore_client') 116 | implementation project(path: ':react_viro') 117 | implementation project(path: ':viro_renderer') 118 | implementation 'androidx.media3:media3-exoplayer:1.1.1' 119 | implementation 'androidx.media3:media3-exoplayer-dash:1.1.1' 120 | implementation 'androidx.media3:media3-exoplayer-hls:1.1.1' 121 | implementation 'androidx.media3:media3-exoplayer-smoothstreaming:1.1.1' 122 | implementation 'com.google.protobuf.nano:protobuf-javanano:3.1.0' 123 | implementation 'com.google.protobuf.nano:protobuf-javanano:3.1.0' 124 | // ======================================================================== 125 | 126 | if (hermesEnabled.toBoolean()) { 127 | implementation("com.facebook.react:hermes-android") 128 | } else { 129 | implementation jscFlavor 130 | } 131 | } 132 | 133 | apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) 134 | -------------------------------------------------------------------------------- /android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/debug.keystore -------------------------------------------------------------------------------- /android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 9 | 10 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 28 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /android/app/src/main/java/com/virostarterkit/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.virostarterkit 2 | 3 | import com.facebook.react.ReactActivity 4 | import com.facebook.react.ReactActivityDelegate 5 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled 6 | import com.facebook.react.defaults.DefaultReactActivityDelegate 7 | 8 | class MainActivity : ReactActivity() { 9 | 10 | /** 11 | * Returns the name of the main component registered from JavaScript. This is used to schedule 12 | * rendering of the component. 13 | */ 14 | override fun getMainComponentName(): String = "ViroStarterKit" 15 | 16 | /** 17 | * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate] 18 | * which allows you to enable New Architecture with a single boolean flags [fabricEnabled] 19 | */ 20 | override fun createReactActivityDelegate(): ReactActivityDelegate = 21 | DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled) 22 | } 23 | -------------------------------------------------------------------------------- /android/app/src/main/java/com/virostarterkit/MainApplication.kt: -------------------------------------------------------------------------------- 1 | package com.virostarterkit 2 | import com.viromedia.bridge.ReactViroPackage 3 | 4 | import android.app.Application 5 | import com.facebook.react.PackageList 6 | import com.facebook.react.ReactApplication 7 | import com.facebook.react.ReactHost 8 | import com.facebook.react.ReactNativeHost 9 | import com.facebook.react.ReactPackage 10 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load 11 | import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost 12 | import com.facebook.react.defaults.DefaultReactNativeHost 13 | import com.facebook.react.flipper.ReactNativeFlipper 14 | import com.facebook.soloader.SoLoader 15 | 16 | class MainApplication : Application(), ReactApplication { 17 | 18 | override val reactNativeHost: ReactNativeHost = 19 | object : DefaultReactNativeHost(this) { 20 | override fun getPackages(): List = 21 | PackageList(this).packages.apply { 22 | // Packages that cannot be autolinked yet can be added manually here, for example: 23 | // add(MyReactNativePackage()) 24 | 25 | // https://viro-community.readme.io/docs/installation-instructions#5-now-add-the-viro-package-to-your-mainapplication 26 | add(ReactViroPackage(ReactViroPackage.ViroPlatform.GVR)) 27 | add(ReactViroPackage(ReactViroPackage.ViroPlatform.AR)) 28 | } 29 | 30 | override fun getJSMainModuleName(): String = "index" 31 | 32 | override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG 33 | 34 | override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED 35 | override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED 36 | } 37 | 38 | override val reactHost: ReactHost 39 | get() = getDefaultReactHost(this.applicationContext, reactNativeHost) 40 | 41 | override fun onCreate() { 42 | super.onCreate() 43 | SoLoader.init(this, false) 44 | if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) { 45 | // If you opted-in for the New Architecture, we load the native entry point for this app. 46 | load() 47 | } 48 | ReactNativeFlipper.initializeFlipper(this, reactNativeHost.reactInstanceManager) 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /android/app/src/main/res/drawable/rn_edit_text_material.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 21 | 22 | 23 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ViroStarterKit 3 | 4 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext { 3 | buildToolsVersion = "34.0.0" 4 | minSdkVersion = 24 5 | compileSdkVersion = 34 6 | targetSdkVersion = 34 7 | ndkVersion = "25.1.8937393" 8 | kotlinVersion = "1.8.0" 9 | } 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | dependencies { 15 | classpath("com.android.tools.build:gradle") 16 | classpath("com.facebook.react:react-native-gradle-plugin") 17 | classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") 18 | } 19 | } 20 | 21 | apply plugin: "com.facebook.react.rootproject" 22 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx512m -XX:MaxMetaspaceSize=256m 13 | org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | 20 | # AndroidX package structure to make it clearer which packages are bundled with the 21 | # Android operating system, and which are packaged with your app's APK 22 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 23 | android.useAndroidX=true 24 | # Automatically convert third-party libraries to use AndroidX 25 | android.enableJetifier=true 26 | 27 | # Use this property to specify which architecture you want to build. 28 | # You can also override it from the CLI using 29 | # ./gradlew -PreactNativeArchitectures=x86_64 30 | reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64 31 | 32 | # Use this property to enable support to the new architecture. 33 | # This will allow you to use TurboModules and the Fabric render in 34 | # your application. You should enable this flag either if you want 35 | # to write custom TurboModules/Fabric components OR use libraries that 36 | # are providing them. 37 | newArchEnabled=false 38 | 39 | # Use this property to enable or disable the Hermes JS engine. 40 | # If set to false, you will be using JSC instead. 41 | hermesEnabled=true 42 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ReactVision/starter-kit/cb32d844920574c69981f4e70637668f73d5228f/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /android/gradlew: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # 4 | # Copyright © 2015-2021 the original authors. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | # 18 | 19 | ############################################################################## 20 | # 21 | # Gradle start up script for POSIX generated by Gradle. 22 | # 23 | # Important for running: 24 | # 25 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is 26 | # noncompliant, but you have some other compliant shell such as ksh or 27 | # bash, then to run this script, type that shell name before the whole 28 | # command line, like: 29 | # 30 | # ksh Gradle 31 | # 32 | # Busybox and similar reduced shells will NOT work, because this script 33 | # requires all of these POSIX shell features: 34 | # * functions; 35 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}», 36 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»; 37 | # * compound commands having a testable exit status, especially «case»; 38 | # * various built-in commands including «command», «set», and «ulimit». 39 | # 40 | # Important for patching: 41 | # 42 | # (2) This script targets any POSIX shell, so it avoids extensions provided 43 | # by Bash, Ksh, etc; in particular arrays are avoided. 44 | # 45 | # The "traditional" practice of packing multiple parameters into a 46 | # space-separated string is a well documented source of bugs and security 47 | # problems, so this is (mostly) avoided, by progressively accumulating 48 | # options in "$@", and eventually passing that to Java. 49 | # 50 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, 51 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; 52 | # see the in-line comments for details. 53 | # 54 | # There are tweaks for specific operating systems such as AIX, CygWin, 55 | # Darwin, MinGW, and NonStop. 56 | # 57 | # (3) This script is generated from the Groovy template 58 | # https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt 59 | # within the Gradle project. 60 | # 61 | # You can find Gradle at https://github.com/gradle/gradle/. 62 | # 63 | ############################################################################## 64 | 65 | # Attempt to set APP_HOME 66 | 67 | # Resolve links: $0 may be a link 68 | app_path=$0 69 | 70 | # Need this for daisy-chained symlinks. 71 | while 72 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path 73 | [ -h "$app_path" ] 74 | do 75 | ls=$( ls -ld "$app_path" ) 76 | link=${ls#*' -> '} 77 | case $link in #( 78 | /*) app_path=$link ;; #( 79 | *) app_path=$APP_HOME$link ;; 80 | esac 81 | done 82 | 83 | # This is normally unused 84 | # shellcheck disable=SC2034 85 | APP_BASE_NAME=${0##*/} 86 | # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) 87 | APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit 88 | 89 | # Use the maximum available, or set MAX_FD != -1 to use that value. 90 | MAX_FD=maximum 91 | 92 | warn () { 93 | echo "$*" 94 | } >&2 95 | 96 | die () { 97 | echo 98 | echo "$*" 99 | echo 100 | exit 1 101 | } >&2 102 | 103 | # OS specific support (must be 'true' or 'false'). 104 | cygwin=false 105 | msys=false 106 | darwin=false 107 | nonstop=false 108 | case "$( uname )" in #( 109 | CYGWIN* ) cygwin=true ;; #( 110 | Darwin* ) darwin=true ;; #( 111 | MSYS* | MINGW* ) msys=true ;; #( 112 | NONSTOP* ) nonstop=true ;; 113 | esac 114 | 115 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 116 | 117 | 118 | # Determine the Java command to use to start the JVM. 119 | if [ -n "$JAVA_HOME" ] ; then 120 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 121 | # IBM's JDK on AIX uses strange locations for the executables 122 | JAVACMD=$JAVA_HOME/jre/sh/java 123 | else 124 | JAVACMD=$JAVA_HOME/bin/java 125 | fi 126 | if [ ! -x "$JAVACMD" ] ; then 127 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 128 | 129 | Please set the JAVA_HOME variable in your environment to match the 130 | location of your Java installation." 131 | fi 132 | else 133 | JAVACMD=java 134 | if ! command -v java >/dev/null 2>&1 135 | then 136 | die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 137 | 138 | Please set the JAVA_HOME variable in your environment to match the 139 | location of your Java installation." 140 | fi 141 | fi 142 | 143 | # Increase the maximum file descriptors if we can. 144 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then 145 | case $MAX_FD in #( 146 | max*) 147 | # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. 148 | # shellcheck disable=SC3045 149 | MAX_FD=$( ulimit -H -n ) || 150 | warn "Could not query maximum file descriptor limit" 151 | esac 152 | case $MAX_FD in #( 153 | '' | soft) :;; #( 154 | *) 155 | # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. 156 | # shellcheck disable=SC3045 157 | ulimit -n "$MAX_FD" || 158 | warn "Could not set maximum file descriptor limit to $MAX_FD" 159 | esac 160 | fi 161 | 162 | # Collect all arguments for the java command, stacking in reverse order: 163 | # * args from the command line 164 | # * the main class name 165 | # * -classpath 166 | # * -D...appname settings 167 | # * --module-path (only if needed) 168 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. 169 | 170 | # For Cygwin or MSYS, switch paths to Windows format before running java 171 | if "$cygwin" || "$msys" ; then 172 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) 173 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) 174 | 175 | JAVACMD=$( cygpath --unix "$JAVACMD" ) 176 | 177 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 178 | for arg do 179 | if 180 | case $arg in #( 181 | -*) false ;; # don't mess with options #( 182 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath 183 | [ -e "$t" ] ;; #( 184 | *) false ;; 185 | esac 186 | then 187 | arg=$( cygpath --path --ignore --mixed "$arg" ) 188 | fi 189 | # Roll the args list around exactly as many times as the number of 190 | # args, so each arg winds up back in the position where it started, but 191 | # possibly modified. 192 | # 193 | # NB: a `for` loop captures its iteration list before it begins, so 194 | # changing the positional parameters here affects neither the number of 195 | # iterations, nor the values presented in `arg`. 196 | shift # remove old arg 197 | set -- "$@" "$arg" # push replacement arg 198 | done 199 | fi 200 | 201 | 202 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 203 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' 204 | 205 | # Collect all arguments for the java command; 206 | # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of 207 | # shell script including quotes and variable substitutions, so put them in 208 | # double quotes to make sure that they get re-expanded; and 209 | # * put everything else in single quotes, so that it's not re-expanded. 210 | 211 | set -- \ 212 | "-Dorg.gradle.appname=$APP_BASE_NAME" \ 213 | -classpath "$CLASSPATH" \ 214 | org.gradle.wrapper.GradleWrapperMain \ 215 | "$@" 216 | 217 | # Stop when "xargs" is not available. 218 | if ! command -v xargs >/dev/null 2>&1 219 | then 220 | die "xargs is not available" 221 | fi 222 | 223 | # Use "xargs" to parse quoted args. 224 | # 225 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed. 226 | # 227 | # In Bash we could simply go: 228 | # 229 | # readarray ARGS < <( xargs -n1 <<<"$var" ) && 230 | # set -- "${ARGS[@]}" "$@" 231 | # 232 | # but POSIX shell has neither arrays nor command substitution, so instead we 233 | # post-process each arg (as a line of input to sed) to backslash-escape any 234 | # character that might be a shell metacharacter, then use eval to reverse 235 | # that process (while maintaining the separation between arguments), and wrap 236 | # the whole thing up as a single "set" statement. 237 | # 238 | # This will of course break if any of these variables contains a newline or 239 | # an unmatched quote. 240 | # 241 | 242 | eval "set -- $( 243 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | 244 | xargs -n1 | 245 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | 246 | tr '\n' ' ' 247 | )" '"$@"' 248 | 249 | exec "$JAVACMD" "$@" 250 | -------------------------------------------------------------------------------- /android/gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%"=="" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%"=="" set DIRNAME=. 29 | @rem This is normally unused 30 | set APP_BASE_NAME=%~n0 31 | set APP_HOME=%DIRNAME% 32 | 33 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 34 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 35 | 36 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 37 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 38 | 39 | @rem Find java.exe 40 | if defined JAVA_HOME goto findJavaFromJavaHome 41 | 42 | set JAVA_EXE=java.exe 43 | %JAVA_EXE% -version >NUL 2>&1 44 | if %ERRORLEVEL% equ 0 goto execute 45 | 46 | echo. 47 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 48 | echo. 49 | echo Please set the JAVA_HOME variable in your environment to match the 50 | echo location of your Java installation. 51 | 52 | goto fail 53 | 54 | :findJavaFromJavaHome 55 | set JAVA_HOME=%JAVA_HOME:"=% 56 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 57 | 58 | if exist "%JAVA_EXE%" goto execute 59 | 60 | echo. 61 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 62 | echo. 63 | echo Please set the JAVA_HOME variable in your environment to match the 64 | echo location of your Java installation. 65 | 66 | goto fail 67 | 68 | :execute 69 | @rem Setup the command line 70 | 71 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 72 | 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if %ERRORLEVEL% equ 0 goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | set EXIT_CODE=%ERRORLEVEL% 85 | if %EXIT_CODE% equ 0 set EXIT_CODE=1 86 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% 87 | exit /b %EXIT_CODE% 88 | 89 | :mainEnd 90 | if "%OS%"=="Windows_NT" endlocal 91 | 92 | :omega 93 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'ViroStarterKit' 2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) 3 | include ':app' 4 | includeBuild('../node_modules/@react-native/gradle-plugin') 5 | 6 | // https://viro-community.readme.io/docs/installation-instructions#3-in-your-androidsettingsgradle-add-the-following-lines-to-the-end 7 | include ':react_viro', ':arcore_client', ':gvr_common', ':viro_renderer' 8 | project(':arcore_client').projectDir = new File('../node_modules/@reactvision/react-viro/android/arcore_client') 9 | project(':gvr_common').projectDir = new File('../node_modules/@reactvision/react-viro/android/gvr_common') 10 | project(':viro_renderer').projectDir = new File('../node_modules/@reactvision/react-viro/android/viro_renderer') 11 | project(':react_viro').projectDir = new File('../node_modules/@reactvision/react-viro/android/react_viro') 12 | 13 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ViroStarterKit", 3 | "displayName": "ViroStarterKit" 4 | } 5 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:@react-native/babel-preset'], 3 | }; 4 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import {AppRegistry} from 'react-native'; 6 | import App from './App'; 7 | import {name as appName} from './app.json'; 8 | 9 | AppRegistry.registerComponent(appName, () => App); 10 | -------------------------------------------------------------------------------- /ios/.xcode.env: -------------------------------------------------------------------------------- 1 | # This `.xcode.env` file is versioned and is used to source the environment 2 | # used when running script phases inside Xcode. 3 | # To customize your local environment, you can create an `.xcode.env.local` 4 | # file that is not versioned. 5 | 6 | # NODE_BINARY variable contains the PATH to the node executable. 7 | # 8 | # Customize the NODE_BINARY variable here. 9 | # For example, to use nvm with brew, add the following line 10 | # . "$(brew --prefix nvm)/nvm.sh" --no-use 11 | export NODE_BINARY=$(command -v node) 12 | -------------------------------------------------------------------------------- /ios/Podfile: -------------------------------------------------------------------------------- 1 | # Resolve react_native_pods.rb with node to allow for hoisting 2 | require Pod::Executable.execute_command('node', ['-p', 3 | 'require.resolve( 4 | "react-native/scripts/react_native_pods.rb", 5 | {paths: [process.argv[1]]}, 6 | )', __dir__]).strip 7 | 8 | platform :ios, min_ios_version_supported 9 | prepare_react_native_project! 10 | 11 | # If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set. 12 | # because `react-native-flipper` depends on (FlipperKit,...) that will be excluded 13 | # 14 | # To fix this you can also exclude `react-native-flipper` using a `react-native.config.js` 15 | # ```js 16 | # module.exports = { 17 | # dependencies: { 18 | # ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}), 19 | # ``` 20 | flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled 21 | 22 | linkage = ENV['USE_FRAMEWORKS'] 23 | if linkage != nil 24 | Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green 25 | use_frameworks! :linkage => linkage.to_sym 26 | end 27 | 28 | target 'ViroStarterKit' do 29 | config = use_native_modules! 30 | 31 | use_react_native!( 32 | :path => config[:reactNativePath], 33 | # Enables Flipper. 34 | # 35 | # Note that if you have use_frameworks! enabled, Flipper will not work and 36 | # you should disable the next line. 37 | #:flipper_configuration => flipper_config, 38 | # An absolute path to your application root. 39 | :app_path => "#{Pod::Config.instance.installation_root}/.." 40 | ) 41 | 42 | pod 'ViroReact', :path => '../node_modules/@reactvision/react-viro/ios/' 43 | pod 'ViroKit', :path => '../node_modules/@reactvision/react-viro/ios/dist/ViroRenderer/' 44 | 45 | target 'ViroStarterKitTests' do 46 | inherit! :complete 47 | # Pods for testing 48 | end 49 | 50 | post_install do |installer| 51 | # https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202 52 | react_native_post_install( 53 | installer, 54 | config[:reactNativePath], 55 | :mac_catalyst_enabled => false 56 | ) 57 | end 58 | end 59 | -------------------------------------------------------------------------------- /ios/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - boost (1.83.0) 3 | - DoubleConversion (1.1.6) 4 | - FBLazyVector (0.73.3) 5 | - FBReactNativeSpec (0.73.3): 6 | - RCT-Folly (= 2022.05.16.00) 7 | - RCTRequired (= 0.73.3) 8 | - RCTTypeSafety (= 0.73.3) 9 | - React-Core (= 0.73.3) 10 | - React-jsi (= 0.73.3) 11 | - ReactCommon/turbomodule/core (= 0.73.3) 12 | - fmt (6.2.1) 13 | - glog (0.3.5) 14 | - hermes-engine (0.73.3): 15 | - hermes-engine/Pre-built (= 0.73.3) 16 | - hermes-engine/Pre-built (0.73.3) 17 | - libevent (2.1.12) 18 | - RCT-Folly (2022.05.16.00): 19 | - boost 20 | - DoubleConversion 21 | - fmt (~> 6.2.1) 22 | - glog 23 | - RCT-Folly/Default (= 2022.05.16.00) 24 | - RCT-Folly/Default (2022.05.16.00): 25 | - boost 26 | - DoubleConversion 27 | - fmt (~> 6.2.1) 28 | - glog 29 | - RCT-Folly/Fabric (2022.05.16.00): 30 | - boost 31 | - DoubleConversion 32 | - fmt (~> 6.2.1) 33 | - glog 34 | - RCT-Folly/Futures (2022.05.16.00): 35 | - boost 36 | - DoubleConversion 37 | - fmt (~> 6.2.1) 38 | - glog 39 | - libevent 40 | - RCTRequired (0.73.3) 41 | - RCTTypeSafety (0.73.3): 42 | - FBLazyVector (= 0.73.3) 43 | - RCTRequired (= 0.73.3) 44 | - React-Core (= 0.73.3) 45 | - React (0.73.3): 46 | - React-Core (= 0.73.3) 47 | - React-Core/DevSupport (= 0.73.3) 48 | - React-Core/RCTWebSocket (= 0.73.3) 49 | - React-RCTActionSheet (= 0.73.3) 50 | - React-RCTAnimation (= 0.73.3) 51 | - React-RCTBlob (= 0.73.3) 52 | - React-RCTImage (= 0.73.3) 53 | - React-RCTLinking (= 0.73.3) 54 | - React-RCTNetwork (= 0.73.3) 55 | - React-RCTSettings (= 0.73.3) 56 | - React-RCTText (= 0.73.3) 57 | - React-RCTVibration (= 0.73.3) 58 | - React-callinvoker (0.73.3) 59 | - React-Codegen (0.73.3): 60 | - DoubleConversion 61 | - FBReactNativeSpec 62 | - glog 63 | - hermes-engine 64 | - RCT-Folly 65 | - RCTRequired 66 | - RCTTypeSafety 67 | - React-Core 68 | - React-jsi 69 | - React-jsiexecutor 70 | - React-NativeModulesApple 71 | - React-rncore 72 | - ReactCommon/turbomodule/bridging 73 | - ReactCommon/turbomodule/core 74 | - React-Core (0.73.3): 75 | - glog 76 | - hermes-engine 77 | - RCT-Folly (= 2022.05.16.00) 78 | - React-Core/Default (= 0.73.3) 79 | - React-cxxreact 80 | - React-hermes 81 | - React-jsi 82 | - React-jsiexecutor 83 | - React-perflogger 84 | - React-runtimescheduler 85 | - React-utils 86 | - SocketRocket (= 0.6.1) 87 | - Yoga 88 | - React-Core/CoreModulesHeaders (0.73.3): 89 | - glog 90 | - hermes-engine 91 | - RCT-Folly (= 2022.05.16.00) 92 | - React-Core/Default 93 | - React-cxxreact 94 | - React-hermes 95 | - React-jsi 96 | - React-jsiexecutor 97 | - React-perflogger 98 | - React-runtimescheduler 99 | - React-utils 100 | - SocketRocket (= 0.6.1) 101 | - Yoga 102 | - React-Core/Default (0.73.3): 103 | - glog 104 | - hermes-engine 105 | - RCT-Folly (= 2022.05.16.00) 106 | - React-cxxreact 107 | - React-hermes 108 | - React-jsi 109 | - React-jsiexecutor 110 | - React-perflogger 111 | - React-runtimescheduler 112 | - React-utils 113 | - SocketRocket (= 0.6.1) 114 | - Yoga 115 | - React-Core/DevSupport (0.73.3): 116 | - glog 117 | - hermes-engine 118 | - RCT-Folly (= 2022.05.16.00) 119 | - React-Core/Default (= 0.73.3) 120 | - React-Core/RCTWebSocket (= 0.73.3) 121 | - React-cxxreact 122 | - React-hermes 123 | - React-jsi 124 | - React-jsiexecutor 125 | - React-jsinspector (= 0.73.3) 126 | - React-perflogger 127 | - React-runtimescheduler 128 | - React-utils 129 | - SocketRocket (= 0.6.1) 130 | - Yoga 131 | - React-Core/RCTActionSheetHeaders (0.73.3): 132 | - glog 133 | - hermes-engine 134 | - RCT-Folly (= 2022.05.16.00) 135 | - React-Core/Default 136 | - React-cxxreact 137 | - React-hermes 138 | - React-jsi 139 | - React-jsiexecutor 140 | - React-perflogger 141 | - React-runtimescheduler 142 | - React-utils 143 | - SocketRocket (= 0.6.1) 144 | - Yoga 145 | - React-Core/RCTAnimationHeaders (0.73.3): 146 | - glog 147 | - hermes-engine 148 | - RCT-Folly (= 2022.05.16.00) 149 | - React-Core/Default 150 | - React-cxxreact 151 | - React-hermes 152 | - React-jsi 153 | - React-jsiexecutor 154 | - React-perflogger 155 | - React-runtimescheduler 156 | - React-utils 157 | - SocketRocket (= 0.6.1) 158 | - Yoga 159 | - React-Core/RCTBlobHeaders (0.73.3): 160 | - glog 161 | - hermes-engine 162 | - RCT-Folly (= 2022.05.16.00) 163 | - React-Core/Default 164 | - React-cxxreact 165 | - React-hermes 166 | - React-jsi 167 | - React-jsiexecutor 168 | - React-perflogger 169 | - React-runtimescheduler 170 | - React-utils 171 | - SocketRocket (= 0.6.1) 172 | - Yoga 173 | - React-Core/RCTImageHeaders (0.73.3): 174 | - glog 175 | - hermes-engine 176 | - RCT-Folly (= 2022.05.16.00) 177 | - React-Core/Default 178 | - React-cxxreact 179 | - React-hermes 180 | - React-jsi 181 | - React-jsiexecutor 182 | - React-perflogger 183 | - React-runtimescheduler 184 | - React-utils 185 | - SocketRocket (= 0.6.1) 186 | - Yoga 187 | - React-Core/RCTLinkingHeaders (0.73.3): 188 | - glog 189 | - hermes-engine 190 | - RCT-Folly (= 2022.05.16.00) 191 | - React-Core/Default 192 | - React-cxxreact 193 | - React-hermes 194 | - React-jsi 195 | - React-jsiexecutor 196 | - React-perflogger 197 | - React-runtimescheduler 198 | - React-utils 199 | - SocketRocket (= 0.6.1) 200 | - Yoga 201 | - React-Core/RCTNetworkHeaders (0.73.3): 202 | - glog 203 | - hermes-engine 204 | - RCT-Folly (= 2022.05.16.00) 205 | - React-Core/Default 206 | - React-cxxreact 207 | - React-hermes 208 | - React-jsi 209 | - React-jsiexecutor 210 | - React-perflogger 211 | - React-runtimescheduler 212 | - React-utils 213 | - SocketRocket (= 0.6.1) 214 | - Yoga 215 | - React-Core/RCTSettingsHeaders (0.73.3): 216 | - glog 217 | - hermes-engine 218 | - RCT-Folly (= 2022.05.16.00) 219 | - React-Core/Default 220 | - React-cxxreact 221 | - React-hermes 222 | - React-jsi 223 | - React-jsiexecutor 224 | - React-perflogger 225 | - React-runtimescheduler 226 | - React-utils 227 | - SocketRocket (= 0.6.1) 228 | - Yoga 229 | - React-Core/RCTTextHeaders (0.73.3): 230 | - glog 231 | - hermes-engine 232 | - RCT-Folly (= 2022.05.16.00) 233 | - React-Core/Default 234 | - React-cxxreact 235 | - React-hermes 236 | - React-jsi 237 | - React-jsiexecutor 238 | - React-perflogger 239 | - React-runtimescheduler 240 | - React-utils 241 | - SocketRocket (= 0.6.1) 242 | - Yoga 243 | - React-Core/RCTVibrationHeaders (0.73.3): 244 | - glog 245 | - hermes-engine 246 | - RCT-Folly (= 2022.05.16.00) 247 | - React-Core/Default 248 | - React-cxxreact 249 | - React-hermes 250 | - React-jsi 251 | - React-jsiexecutor 252 | - React-perflogger 253 | - React-runtimescheduler 254 | - React-utils 255 | - SocketRocket (= 0.6.1) 256 | - Yoga 257 | - React-Core/RCTWebSocket (0.73.3): 258 | - glog 259 | - hermes-engine 260 | - RCT-Folly (= 2022.05.16.00) 261 | - React-Core/Default (= 0.73.3) 262 | - React-cxxreact 263 | - React-hermes 264 | - React-jsi 265 | - React-jsiexecutor 266 | - React-perflogger 267 | - React-runtimescheduler 268 | - React-utils 269 | - SocketRocket (= 0.6.1) 270 | - Yoga 271 | - React-CoreModules (0.73.3): 272 | - RCT-Folly (= 2022.05.16.00) 273 | - RCTTypeSafety (= 0.73.3) 274 | - React-Codegen 275 | - React-Core/CoreModulesHeaders (= 0.73.3) 276 | - React-jsi (= 0.73.3) 277 | - React-NativeModulesApple 278 | - React-RCTBlob 279 | - React-RCTImage (= 0.73.3) 280 | - ReactCommon 281 | - SocketRocket (= 0.6.1) 282 | - React-cxxreact (0.73.3): 283 | - boost (= 1.83.0) 284 | - DoubleConversion 285 | - fmt (~> 6.2.1) 286 | - glog 287 | - hermes-engine 288 | - RCT-Folly (= 2022.05.16.00) 289 | - React-callinvoker (= 0.73.3) 290 | - React-debug (= 0.73.3) 291 | - React-jsi (= 0.73.3) 292 | - React-jsinspector (= 0.73.3) 293 | - React-logger (= 0.73.3) 294 | - React-perflogger (= 0.73.3) 295 | - React-runtimeexecutor (= 0.73.3) 296 | - React-debug (0.73.3) 297 | - React-Fabric (0.73.3): 298 | - DoubleConversion 299 | - fmt (~> 6.2.1) 300 | - glog 301 | - hermes-engine 302 | - RCT-Folly/Fabric (= 2022.05.16.00) 303 | - RCTRequired 304 | - RCTTypeSafety 305 | - React-Core 306 | - React-cxxreact 307 | - React-debug 308 | - React-Fabric/animations (= 0.73.3) 309 | - React-Fabric/attributedstring (= 0.73.3) 310 | - React-Fabric/componentregistry (= 0.73.3) 311 | - React-Fabric/componentregistrynative (= 0.73.3) 312 | - React-Fabric/components (= 0.73.3) 313 | - React-Fabric/core (= 0.73.3) 314 | - React-Fabric/imagemanager (= 0.73.3) 315 | - React-Fabric/leakchecker (= 0.73.3) 316 | - React-Fabric/mounting (= 0.73.3) 317 | - React-Fabric/scheduler (= 0.73.3) 318 | - React-Fabric/telemetry (= 0.73.3) 319 | - React-Fabric/templateprocessor (= 0.73.3) 320 | - React-Fabric/textlayoutmanager (= 0.73.3) 321 | - React-Fabric/uimanager (= 0.73.3) 322 | - React-graphics 323 | - React-jsi 324 | - React-jsiexecutor 325 | - React-logger 326 | - React-rendererdebug 327 | - React-runtimescheduler 328 | - React-utils 329 | - ReactCommon/turbomodule/core 330 | - React-Fabric/animations (0.73.3): 331 | - DoubleConversion 332 | - fmt (~> 6.2.1) 333 | - glog 334 | - hermes-engine 335 | - RCT-Folly/Fabric (= 2022.05.16.00) 336 | - RCTRequired 337 | - RCTTypeSafety 338 | - React-Core 339 | - React-cxxreact 340 | - React-debug 341 | - React-graphics 342 | - React-jsi 343 | - React-jsiexecutor 344 | - React-logger 345 | - React-rendererdebug 346 | - React-runtimescheduler 347 | - React-utils 348 | - ReactCommon/turbomodule/core 349 | - React-Fabric/attributedstring (0.73.3): 350 | - DoubleConversion 351 | - fmt (~> 6.2.1) 352 | - glog 353 | - hermes-engine 354 | - RCT-Folly/Fabric (= 2022.05.16.00) 355 | - RCTRequired 356 | - RCTTypeSafety 357 | - React-Core 358 | - React-cxxreact 359 | - React-debug 360 | - React-graphics 361 | - React-jsi 362 | - React-jsiexecutor 363 | - React-logger 364 | - React-rendererdebug 365 | - React-runtimescheduler 366 | - React-utils 367 | - ReactCommon/turbomodule/core 368 | - React-Fabric/componentregistry (0.73.3): 369 | - DoubleConversion 370 | - fmt (~> 6.2.1) 371 | - glog 372 | - hermes-engine 373 | - RCT-Folly/Fabric (= 2022.05.16.00) 374 | - RCTRequired 375 | - RCTTypeSafety 376 | - React-Core 377 | - React-cxxreact 378 | - React-debug 379 | - React-graphics 380 | - React-jsi 381 | - React-jsiexecutor 382 | - React-logger 383 | - React-rendererdebug 384 | - React-runtimescheduler 385 | - React-utils 386 | - ReactCommon/turbomodule/core 387 | - React-Fabric/componentregistrynative (0.73.3): 388 | - DoubleConversion 389 | - fmt (~> 6.2.1) 390 | - glog 391 | - hermes-engine 392 | - RCT-Folly/Fabric (= 2022.05.16.00) 393 | - RCTRequired 394 | - RCTTypeSafety 395 | - React-Core 396 | - React-cxxreact 397 | - React-debug 398 | - React-graphics 399 | - React-jsi 400 | - React-jsiexecutor 401 | - React-logger 402 | - React-rendererdebug 403 | - React-runtimescheduler 404 | - React-utils 405 | - ReactCommon/turbomodule/core 406 | - React-Fabric/components (0.73.3): 407 | - DoubleConversion 408 | - fmt (~> 6.2.1) 409 | - glog 410 | - hermes-engine 411 | - RCT-Folly/Fabric (= 2022.05.16.00) 412 | - RCTRequired 413 | - RCTTypeSafety 414 | - React-Core 415 | - React-cxxreact 416 | - React-debug 417 | - React-Fabric/components/inputaccessory (= 0.73.3) 418 | - React-Fabric/components/legacyviewmanagerinterop (= 0.73.3) 419 | - React-Fabric/components/modal (= 0.73.3) 420 | - React-Fabric/components/rncore (= 0.73.3) 421 | - React-Fabric/components/root (= 0.73.3) 422 | - React-Fabric/components/safeareaview (= 0.73.3) 423 | - React-Fabric/components/scrollview (= 0.73.3) 424 | - React-Fabric/components/text (= 0.73.3) 425 | - React-Fabric/components/textinput (= 0.73.3) 426 | - React-Fabric/components/unimplementedview (= 0.73.3) 427 | - React-Fabric/components/view (= 0.73.3) 428 | - React-graphics 429 | - React-jsi 430 | - React-jsiexecutor 431 | - React-logger 432 | - React-rendererdebug 433 | - React-runtimescheduler 434 | - React-utils 435 | - ReactCommon/turbomodule/core 436 | - React-Fabric/components/inputaccessory (0.73.3): 437 | - DoubleConversion 438 | - fmt (~> 6.2.1) 439 | - glog 440 | - hermes-engine 441 | - RCT-Folly/Fabric (= 2022.05.16.00) 442 | - RCTRequired 443 | - RCTTypeSafety 444 | - React-Core 445 | - React-cxxreact 446 | - React-debug 447 | - React-graphics 448 | - React-jsi 449 | - React-jsiexecutor 450 | - React-logger 451 | - React-rendererdebug 452 | - React-runtimescheduler 453 | - React-utils 454 | - ReactCommon/turbomodule/core 455 | - React-Fabric/components/legacyviewmanagerinterop (0.73.3): 456 | - DoubleConversion 457 | - fmt (~> 6.2.1) 458 | - glog 459 | - hermes-engine 460 | - RCT-Folly/Fabric (= 2022.05.16.00) 461 | - RCTRequired 462 | - RCTTypeSafety 463 | - React-Core 464 | - React-cxxreact 465 | - React-debug 466 | - React-graphics 467 | - React-jsi 468 | - React-jsiexecutor 469 | - React-logger 470 | - React-rendererdebug 471 | - React-runtimescheduler 472 | - React-utils 473 | - ReactCommon/turbomodule/core 474 | - React-Fabric/components/modal (0.73.3): 475 | - DoubleConversion 476 | - fmt (~> 6.2.1) 477 | - glog 478 | - hermes-engine 479 | - RCT-Folly/Fabric (= 2022.05.16.00) 480 | - RCTRequired 481 | - RCTTypeSafety 482 | - React-Core 483 | - React-cxxreact 484 | - React-debug 485 | - React-graphics 486 | - React-jsi 487 | - React-jsiexecutor 488 | - React-logger 489 | - React-rendererdebug 490 | - React-runtimescheduler 491 | - React-utils 492 | - ReactCommon/turbomodule/core 493 | - React-Fabric/components/rncore (0.73.3): 494 | - DoubleConversion 495 | - fmt (~> 6.2.1) 496 | - glog 497 | - hermes-engine 498 | - RCT-Folly/Fabric (= 2022.05.16.00) 499 | - RCTRequired 500 | - RCTTypeSafety 501 | - React-Core 502 | - React-cxxreact 503 | - React-debug 504 | - React-graphics 505 | - React-jsi 506 | - React-jsiexecutor 507 | - React-logger 508 | - React-rendererdebug 509 | - React-runtimescheduler 510 | - React-utils 511 | - ReactCommon/turbomodule/core 512 | - React-Fabric/components/root (0.73.3): 513 | - DoubleConversion 514 | - fmt (~> 6.2.1) 515 | - glog 516 | - hermes-engine 517 | - RCT-Folly/Fabric (= 2022.05.16.00) 518 | - RCTRequired 519 | - RCTTypeSafety 520 | - React-Core 521 | - React-cxxreact 522 | - React-debug 523 | - React-graphics 524 | - React-jsi 525 | - React-jsiexecutor 526 | - React-logger 527 | - React-rendererdebug 528 | - React-runtimescheduler 529 | - React-utils 530 | - ReactCommon/turbomodule/core 531 | - React-Fabric/components/safeareaview (0.73.3): 532 | - DoubleConversion 533 | - fmt (~> 6.2.1) 534 | - glog 535 | - hermes-engine 536 | - RCT-Folly/Fabric (= 2022.05.16.00) 537 | - RCTRequired 538 | - RCTTypeSafety 539 | - React-Core 540 | - React-cxxreact 541 | - React-debug 542 | - React-graphics 543 | - React-jsi 544 | - React-jsiexecutor 545 | - React-logger 546 | - React-rendererdebug 547 | - React-runtimescheduler 548 | - React-utils 549 | - ReactCommon/turbomodule/core 550 | - React-Fabric/components/scrollview (0.73.3): 551 | - DoubleConversion 552 | - fmt (~> 6.2.1) 553 | - glog 554 | - hermes-engine 555 | - RCT-Folly/Fabric (= 2022.05.16.00) 556 | - RCTRequired 557 | - RCTTypeSafety 558 | - React-Core 559 | - React-cxxreact 560 | - React-debug 561 | - React-graphics 562 | - React-jsi 563 | - React-jsiexecutor 564 | - React-logger 565 | - React-rendererdebug 566 | - React-runtimescheduler 567 | - React-utils 568 | - ReactCommon/turbomodule/core 569 | - React-Fabric/components/text (0.73.3): 570 | - DoubleConversion 571 | - fmt (~> 6.2.1) 572 | - glog 573 | - hermes-engine 574 | - RCT-Folly/Fabric (= 2022.05.16.00) 575 | - RCTRequired 576 | - RCTTypeSafety 577 | - React-Core 578 | - React-cxxreact 579 | - React-debug 580 | - React-graphics 581 | - React-jsi 582 | - React-jsiexecutor 583 | - React-logger 584 | - React-rendererdebug 585 | - React-runtimescheduler 586 | - React-utils 587 | - ReactCommon/turbomodule/core 588 | - React-Fabric/components/textinput (0.73.3): 589 | - DoubleConversion 590 | - fmt (~> 6.2.1) 591 | - glog 592 | - hermes-engine 593 | - RCT-Folly/Fabric (= 2022.05.16.00) 594 | - RCTRequired 595 | - RCTTypeSafety 596 | - React-Core 597 | - React-cxxreact 598 | - React-debug 599 | - React-graphics 600 | - React-jsi 601 | - React-jsiexecutor 602 | - React-logger 603 | - React-rendererdebug 604 | - React-runtimescheduler 605 | - React-utils 606 | - ReactCommon/turbomodule/core 607 | - React-Fabric/components/unimplementedview (0.73.3): 608 | - DoubleConversion 609 | - fmt (~> 6.2.1) 610 | - glog 611 | - hermes-engine 612 | - RCT-Folly/Fabric (= 2022.05.16.00) 613 | - RCTRequired 614 | - RCTTypeSafety 615 | - React-Core 616 | - React-cxxreact 617 | - React-debug 618 | - React-graphics 619 | - React-jsi 620 | - React-jsiexecutor 621 | - React-logger 622 | - React-rendererdebug 623 | - React-runtimescheduler 624 | - React-utils 625 | - ReactCommon/turbomodule/core 626 | - React-Fabric/components/view (0.73.3): 627 | - DoubleConversion 628 | - fmt (~> 6.2.1) 629 | - glog 630 | - hermes-engine 631 | - RCT-Folly/Fabric (= 2022.05.16.00) 632 | - RCTRequired 633 | - RCTTypeSafety 634 | - React-Core 635 | - React-cxxreact 636 | - React-debug 637 | - React-graphics 638 | - React-jsi 639 | - React-jsiexecutor 640 | - React-logger 641 | - React-rendererdebug 642 | - React-runtimescheduler 643 | - React-utils 644 | - ReactCommon/turbomodule/core 645 | - Yoga 646 | - React-Fabric/core (0.73.3): 647 | - DoubleConversion 648 | - fmt (~> 6.2.1) 649 | - glog 650 | - hermes-engine 651 | - RCT-Folly/Fabric (= 2022.05.16.00) 652 | - RCTRequired 653 | - RCTTypeSafety 654 | - React-Core 655 | - React-cxxreact 656 | - React-debug 657 | - React-graphics 658 | - React-jsi 659 | - React-jsiexecutor 660 | - React-logger 661 | - React-rendererdebug 662 | - React-runtimescheduler 663 | - React-utils 664 | - ReactCommon/turbomodule/core 665 | - React-Fabric/imagemanager (0.73.3): 666 | - DoubleConversion 667 | - fmt (~> 6.2.1) 668 | - glog 669 | - hermes-engine 670 | - RCT-Folly/Fabric (= 2022.05.16.00) 671 | - RCTRequired 672 | - RCTTypeSafety 673 | - React-Core 674 | - React-cxxreact 675 | - React-debug 676 | - React-graphics 677 | - React-jsi 678 | - React-jsiexecutor 679 | - React-logger 680 | - React-rendererdebug 681 | - React-runtimescheduler 682 | - React-utils 683 | - ReactCommon/turbomodule/core 684 | - React-Fabric/leakchecker (0.73.3): 685 | - DoubleConversion 686 | - fmt (~> 6.2.1) 687 | - glog 688 | - hermes-engine 689 | - RCT-Folly/Fabric (= 2022.05.16.00) 690 | - RCTRequired 691 | - RCTTypeSafety 692 | - React-Core 693 | - React-cxxreact 694 | - React-debug 695 | - React-graphics 696 | - React-jsi 697 | - React-jsiexecutor 698 | - React-logger 699 | - React-rendererdebug 700 | - React-runtimescheduler 701 | - React-utils 702 | - ReactCommon/turbomodule/core 703 | - React-Fabric/mounting (0.73.3): 704 | - DoubleConversion 705 | - fmt (~> 6.2.1) 706 | - glog 707 | - hermes-engine 708 | - RCT-Folly/Fabric (= 2022.05.16.00) 709 | - RCTRequired 710 | - RCTTypeSafety 711 | - React-Core 712 | - React-cxxreact 713 | - React-debug 714 | - React-graphics 715 | - React-jsi 716 | - React-jsiexecutor 717 | - React-logger 718 | - React-rendererdebug 719 | - React-runtimescheduler 720 | - React-utils 721 | - ReactCommon/turbomodule/core 722 | - React-Fabric/scheduler (0.73.3): 723 | - DoubleConversion 724 | - fmt (~> 6.2.1) 725 | - glog 726 | - hermes-engine 727 | - RCT-Folly/Fabric (= 2022.05.16.00) 728 | - RCTRequired 729 | - RCTTypeSafety 730 | - React-Core 731 | - React-cxxreact 732 | - React-debug 733 | - React-graphics 734 | - React-jsi 735 | - React-jsiexecutor 736 | - React-logger 737 | - React-rendererdebug 738 | - React-runtimescheduler 739 | - React-utils 740 | - ReactCommon/turbomodule/core 741 | - React-Fabric/telemetry (0.73.3): 742 | - DoubleConversion 743 | - fmt (~> 6.2.1) 744 | - glog 745 | - hermes-engine 746 | - RCT-Folly/Fabric (= 2022.05.16.00) 747 | - RCTRequired 748 | - RCTTypeSafety 749 | - React-Core 750 | - React-cxxreact 751 | - React-debug 752 | - React-graphics 753 | - React-jsi 754 | - React-jsiexecutor 755 | - React-logger 756 | - React-rendererdebug 757 | - React-runtimescheduler 758 | - React-utils 759 | - ReactCommon/turbomodule/core 760 | - React-Fabric/templateprocessor (0.73.3): 761 | - DoubleConversion 762 | - fmt (~> 6.2.1) 763 | - glog 764 | - hermes-engine 765 | - RCT-Folly/Fabric (= 2022.05.16.00) 766 | - RCTRequired 767 | - RCTTypeSafety 768 | - React-Core 769 | - React-cxxreact 770 | - React-debug 771 | - React-graphics 772 | - React-jsi 773 | - React-jsiexecutor 774 | - React-logger 775 | - React-rendererdebug 776 | - React-runtimescheduler 777 | - React-utils 778 | - ReactCommon/turbomodule/core 779 | - React-Fabric/textlayoutmanager (0.73.3): 780 | - DoubleConversion 781 | - fmt (~> 6.2.1) 782 | - glog 783 | - hermes-engine 784 | - RCT-Folly/Fabric (= 2022.05.16.00) 785 | - RCTRequired 786 | - RCTTypeSafety 787 | - React-Core 788 | - React-cxxreact 789 | - React-debug 790 | - React-Fabric/uimanager 791 | - React-graphics 792 | - React-jsi 793 | - React-jsiexecutor 794 | - React-logger 795 | - React-rendererdebug 796 | - React-runtimescheduler 797 | - React-utils 798 | - ReactCommon/turbomodule/core 799 | - React-Fabric/uimanager (0.73.3): 800 | - DoubleConversion 801 | - fmt (~> 6.2.1) 802 | - glog 803 | - hermes-engine 804 | - RCT-Folly/Fabric (= 2022.05.16.00) 805 | - RCTRequired 806 | - RCTTypeSafety 807 | - React-Core 808 | - React-cxxreact 809 | - React-debug 810 | - React-graphics 811 | - React-jsi 812 | - React-jsiexecutor 813 | - React-logger 814 | - React-rendererdebug 815 | - React-runtimescheduler 816 | - React-utils 817 | - ReactCommon/turbomodule/core 818 | - React-FabricImage (0.73.3): 819 | - DoubleConversion 820 | - fmt (~> 6.2.1) 821 | - glog 822 | - hermes-engine 823 | - RCT-Folly/Fabric (= 2022.05.16.00) 824 | - RCTRequired (= 0.73.3) 825 | - RCTTypeSafety (= 0.73.3) 826 | - React-Fabric 827 | - React-graphics 828 | - React-ImageManager 829 | - React-jsi 830 | - React-jsiexecutor (= 0.73.3) 831 | - React-logger 832 | - React-rendererdebug 833 | - React-utils 834 | - ReactCommon 835 | - Yoga 836 | - React-graphics (0.73.3): 837 | - glog 838 | - RCT-Folly/Fabric (= 2022.05.16.00) 839 | - React-Core/Default (= 0.73.3) 840 | - React-utils 841 | - React-hermes (0.73.3): 842 | - DoubleConversion 843 | - fmt (~> 6.2.1) 844 | - glog 845 | - hermes-engine 846 | - RCT-Folly (= 2022.05.16.00) 847 | - RCT-Folly/Futures (= 2022.05.16.00) 848 | - React-cxxreact (= 0.73.3) 849 | - React-jsi 850 | - React-jsiexecutor (= 0.73.3) 851 | - React-jsinspector (= 0.73.3) 852 | - React-perflogger (= 0.73.3) 853 | - React-ImageManager (0.73.3): 854 | - glog 855 | - RCT-Folly/Fabric 856 | - React-Core/Default 857 | - React-debug 858 | - React-Fabric 859 | - React-graphics 860 | - React-rendererdebug 861 | - React-utils 862 | - React-jserrorhandler (0.73.3): 863 | - RCT-Folly/Fabric (= 2022.05.16.00) 864 | - React-debug 865 | - React-jsi 866 | - React-Mapbuffer 867 | - React-jsi (0.73.3): 868 | - boost (= 1.83.0) 869 | - DoubleConversion 870 | - fmt (~> 6.2.1) 871 | - glog 872 | - hermes-engine 873 | - RCT-Folly (= 2022.05.16.00) 874 | - React-jsiexecutor (0.73.3): 875 | - DoubleConversion 876 | - fmt (~> 6.2.1) 877 | - glog 878 | - hermes-engine 879 | - RCT-Folly (= 2022.05.16.00) 880 | - React-cxxreact (= 0.73.3) 881 | - React-jsi (= 0.73.3) 882 | - React-perflogger (= 0.73.3) 883 | - React-jsinspector (0.73.3) 884 | - React-logger (0.73.3): 885 | - glog 886 | - React-Mapbuffer (0.73.3): 887 | - glog 888 | - React-debug 889 | - React-nativeconfig (0.73.3) 890 | - React-NativeModulesApple (0.73.3): 891 | - glog 892 | - hermes-engine 893 | - React-callinvoker 894 | - React-Core 895 | - React-cxxreact 896 | - React-jsi 897 | - React-runtimeexecutor 898 | - ReactCommon/turbomodule/bridging 899 | - ReactCommon/turbomodule/core 900 | - React-perflogger (0.73.3) 901 | - React-RCTActionSheet (0.73.3): 902 | - React-Core/RCTActionSheetHeaders (= 0.73.3) 903 | - React-RCTAnimation (0.73.3): 904 | - RCT-Folly (= 2022.05.16.00) 905 | - RCTTypeSafety 906 | - React-Codegen 907 | - React-Core/RCTAnimationHeaders 908 | - React-jsi 909 | - React-NativeModulesApple 910 | - ReactCommon 911 | - React-RCTAppDelegate (0.73.3): 912 | - RCT-Folly 913 | - RCTRequired 914 | - RCTTypeSafety 915 | - React-Core 916 | - React-CoreModules 917 | - React-hermes 918 | - React-nativeconfig 919 | - React-NativeModulesApple 920 | - React-RCTFabric 921 | - React-RCTImage 922 | - React-RCTNetwork 923 | - React-runtimescheduler 924 | - ReactCommon 925 | - React-RCTBlob (0.73.3): 926 | - hermes-engine 927 | - RCT-Folly (= 2022.05.16.00) 928 | - React-Codegen 929 | - React-Core/RCTBlobHeaders 930 | - React-Core/RCTWebSocket 931 | - React-jsi 932 | - React-NativeModulesApple 933 | - React-RCTNetwork 934 | - ReactCommon 935 | - React-RCTFabric (0.73.3): 936 | - glog 937 | - hermes-engine 938 | - RCT-Folly/Fabric (= 2022.05.16.00) 939 | - React-Core 940 | - React-debug 941 | - React-Fabric 942 | - React-FabricImage 943 | - React-graphics 944 | - React-ImageManager 945 | - React-jsi 946 | - React-nativeconfig 947 | - React-RCTImage 948 | - React-RCTText 949 | - React-rendererdebug 950 | - React-runtimescheduler 951 | - React-utils 952 | - Yoga 953 | - React-RCTImage (0.73.3): 954 | - RCT-Folly (= 2022.05.16.00) 955 | - RCTTypeSafety 956 | - React-Codegen 957 | - React-Core/RCTImageHeaders 958 | - React-jsi 959 | - React-NativeModulesApple 960 | - React-RCTNetwork 961 | - ReactCommon 962 | - React-RCTLinking (0.73.3): 963 | - React-Codegen 964 | - React-Core/RCTLinkingHeaders (= 0.73.3) 965 | - React-jsi (= 0.73.3) 966 | - React-NativeModulesApple 967 | - ReactCommon 968 | - ReactCommon/turbomodule/core (= 0.73.3) 969 | - React-RCTNetwork (0.73.3): 970 | - RCT-Folly (= 2022.05.16.00) 971 | - RCTTypeSafety 972 | - React-Codegen 973 | - React-Core/RCTNetworkHeaders 974 | - React-jsi 975 | - React-NativeModulesApple 976 | - ReactCommon 977 | - React-RCTSettings (0.73.3): 978 | - RCT-Folly (= 2022.05.16.00) 979 | - RCTTypeSafety 980 | - React-Codegen 981 | - React-Core/RCTSettingsHeaders 982 | - React-jsi 983 | - React-NativeModulesApple 984 | - ReactCommon 985 | - React-RCTText (0.73.3): 986 | - React-Core/RCTTextHeaders (= 0.73.3) 987 | - Yoga 988 | - React-RCTVibration (0.73.3): 989 | - RCT-Folly (= 2022.05.16.00) 990 | - React-Codegen 991 | - React-Core/RCTVibrationHeaders 992 | - React-jsi 993 | - React-NativeModulesApple 994 | - ReactCommon 995 | - React-rendererdebug (0.73.3): 996 | - DoubleConversion 997 | - fmt (~> 6.2.1) 998 | - RCT-Folly (= 2022.05.16.00) 999 | - React-debug 1000 | - React-rncore (0.73.3) 1001 | - React-runtimeexecutor (0.73.3): 1002 | - React-jsi (= 0.73.3) 1003 | - React-runtimescheduler (0.73.3): 1004 | - glog 1005 | - hermes-engine 1006 | - RCT-Folly (= 2022.05.16.00) 1007 | - React-callinvoker 1008 | - React-cxxreact 1009 | - React-debug 1010 | - React-jsi 1011 | - React-rendererdebug 1012 | - React-runtimeexecutor 1013 | - React-utils 1014 | - React-utils (0.73.3): 1015 | - glog 1016 | - RCT-Folly (= 2022.05.16.00) 1017 | - React-debug 1018 | - ReactCommon (0.73.3): 1019 | - React-logger (= 0.73.3) 1020 | - ReactCommon/turbomodule (= 0.73.3) 1021 | - ReactCommon/turbomodule (0.73.3): 1022 | - DoubleConversion 1023 | - fmt (~> 6.2.1) 1024 | - glog 1025 | - hermes-engine 1026 | - RCT-Folly (= 2022.05.16.00) 1027 | - React-callinvoker (= 0.73.3) 1028 | - React-cxxreact (= 0.73.3) 1029 | - React-jsi (= 0.73.3) 1030 | - React-logger (= 0.73.3) 1031 | - React-perflogger (= 0.73.3) 1032 | - ReactCommon/turbomodule/bridging (= 0.73.3) 1033 | - ReactCommon/turbomodule/core (= 0.73.3) 1034 | - ReactCommon/turbomodule/bridging (0.73.3): 1035 | - DoubleConversion 1036 | - fmt (~> 6.2.1) 1037 | - glog 1038 | - hermes-engine 1039 | - RCT-Folly (= 2022.05.16.00) 1040 | - React-callinvoker (= 0.73.3) 1041 | - React-cxxreact (= 0.73.3) 1042 | - React-jsi (= 0.73.3) 1043 | - React-logger (= 0.73.3) 1044 | - React-perflogger (= 0.73.3) 1045 | - ReactCommon/turbomodule/core (0.73.3): 1046 | - DoubleConversion 1047 | - fmt (~> 6.2.1) 1048 | - glog 1049 | - hermes-engine 1050 | - RCT-Folly (= 2022.05.16.00) 1051 | - React-callinvoker (= 0.73.3) 1052 | - React-cxxreact (= 0.73.3) 1053 | - React-jsi (= 0.73.3) 1054 | - React-logger (= 0.73.3) 1055 | - React-perflogger (= 0.73.3) 1056 | - SocketRocket (0.6.1) 1057 | - ViroKit (1.0): 1058 | - React 1059 | - ViroReact (1.0): 1060 | - React 1061 | - Yoga (1.14.0) 1062 | 1063 | DEPENDENCIES: 1064 | - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) 1065 | - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) 1066 | - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) 1067 | - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) 1068 | - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) 1069 | - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) 1070 | - libevent (~> 2.1.12) 1071 | - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) 1072 | - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) 1073 | - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) 1074 | - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) 1075 | - React (from `../node_modules/react-native/`) 1076 | - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) 1077 | - React-Codegen (from `build/generated/ios`) 1078 | - React-Core (from `../node_modules/react-native/`) 1079 | - React-Core/RCTWebSocket (from `../node_modules/react-native/`) 1080 | - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) 1081 | - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) 1082 | - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) 1083 | - React-Fabric (from `../node_modules/react-native/ReactCommon`) 1084 | - React-FabricImage (from `../node_modules/react-native/ReactCommon`) 1085 | - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) 1086 | - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) 1087 | - React-ImageManager (from `../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`) 1088 | - React-jserrorhandler (from `../node_modules/react-native/ReactCommon/jserrorhandler`) 1089 | - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) 1090 | - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) 1091 | - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector-modern`) 1092 | - React-logger (from `../node_modules/react-native/ReactCommon/logger`) 1093 | - React-Mapbuffer (from `../node_modules/react-native/ReactCommon`) 1094 | - React-nativeconfig (from `../node_modules/react-native/ReactCommon`) 1095 | - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) 1096 | - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) 1097 | - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) 1098 | - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) 1099 | - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) 1100 | - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) 1101 | - React-RCTFabric (from `../node_modules/react-native/React`) 1102 | - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) 1103 | - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) 1104 | - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) 1105 | - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) 1106 | - React-RCTText (from `../node_modules/react-native/Libraries/Text`) 1107 | - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) 1108 | - React-rendererdebug (from `../node_modules/react-native/ReactCommon/react/renderer/debug`) 1109 | - React-rncore (from `../node_modules/react-native/ReactCommon`) 1110 | - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) 1111 | - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) 1112 | - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) 1113 | - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) 1114 | - "ViroKit (from `../node_modules/@reactvision/react-viro/ios/dist/ViroRenderer/`)" 1115 | - "ViroReact (from `../node_modules/@reactvision/react-viro/ios/`)" 1116 | - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) 1117 | 1118 | SPEC REPOS: 1119 | trunk: 1120 | - fmt 1121 | - libevent 1122 | - SocketRocket 1123 | 1124 | EXTERNAL SOURCES: 1125 | boost: 1126 | :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" 1127 | DoubleConversion: 1128 | :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" 1129 | FBLazyVector: 1130 | :path: "../node_modules/react-native/Libraries/FBLazyVector" 1131 | FBReactNativeSpec: 1132 | :path: "../node_modules/react-native/React/FBReactNativeSpec" 1133 | glog: 1134 | :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" 1135 | hermes-engine: 1136 | :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" 1137 | :tag: hermes-2023-11-17-RNv0.73.0-21043a3fc062be445e56a2c10ecd8be028dd9cc5 1138 | RCT-Folly: 1139 | :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" 1140 | RCTRequired: 1141 | :path: "../node_modules/react-native/Libraries/RCTRequired" 1142 | RCTTypeSafety: 1143 | :path: "../node_modules/react-native/Libraries/TypeSafety" 1144 | React: 1145 | :path: "../node_modules/react-native/" 1146 | React-callinvoker: 1147 | :path: "../node_modules/react-native/ReactCommon/callinvoker" 1148 | React-Codegen: 1149 | :path: build/generated/ios 1150 | React-Core: 1151 | :path: "../node_modules/react-native/" 1152 | React-CoreModules: 1153 | :path: "../node_modules/react-native/React/CoreModules" 1154 | React-cxxreact: 1155 | :path: "../node_modules/react-native/ReactCommon/cxxreact" 1156 | React-debug: 1157 | :path: "../node_modules/react-native/ReactCommon/react/debug" 1158 | React-Fabric: 1159 | :path: "../node_modules/react-native/ReactCommon" 1160 | React-FabricImage: 1161 | :path: "../node_modules/react-native/ReactCommon" 1162 | React-graphics: 1163 | :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" 1164 | React-hermes: 1165 | :path: "../node_modules/react-native/ReactCommon/hermes" 1166 | React-ImageManager: 1167 | :path: "../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios" 1168 | React-jserrorhandler: 1169 | :path: "../node_modules/react-native/ReactCommon/jserrorhandler" 1170 | React-jsi: 1171 | :path: "../node_modules/react-native/ReactCommon/jsi" 1172 | React-jsiexecutor: 1173 | :path: "../node_modules/react-native/ReactCommon/jsiexecutor" 1174 | React-jsinspector: 1175 | :path: "../node_modules/react-native/ReactCommon/jsinspector-modern" 1176 | React-logger: 1177 | :path: "../node_modules/react-native/ReactCommon/logger" 1178 | React-Mapbuffer: 1179 | :path: "../node_modules/react-native/ReactCommon" 1180 | React-nativeconfig: 1181 | :path: "../node_modules/react-native/ReactCommon" 1182 | React-NativeModulesApple: 1183 | :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" 1184 | React-perflogger: 1185 | :path: "../node_modules/react-native/ReactCommon/reactperflogger" 1186 | React-RCTActionSheet: 1187 | :path: "../node_modules/react-native/Libraries/ActionSheetIOS" 1188 | React-RCTAnimation: 1189 | :path: "../node_modules/react-native/Libraries/NativeAnimation" 1190 | React-RCTAppDelegate: 1191 | :path: "../node_modules/react-native/Libraries/AppDelegate" 1192 | React-RCTBlob: 1193 | :path: "../node_modules/react-native/Libraries/Blob" 1194 | React-RCTFabric: 1195 | :path: "../node_modules/react-native/React" 1196 | React-RCTImage: 1197 | :path: "../node_modules/react-native/Libraries/Image" 1198 | React-RCTLinking: 1199 | :path: "../node_modules/react-native/Libraries/LinkingIOS" 1200 | React-RCTNetwork: 1201 | :path: "../node_modules/react-native/Libraries/Network" 1202 | React-RCTSettings: 1203 | :path: "../node_modules/react-native/Libraries/Settings" 1204 | React-RCTText: 1205 | :path: "../node_modules/react-native/Libraries/Text" 1206 | React-RCTVibration: 1207 | :path: "../node_modules/react-native/Libraries/Vibration" 1208 | React-rendererdebug: 1209 | :path: "../node_modules/react-native/ReactCommon/react/renderer/debug" 1210 | React-rncore: 1211 | :path: "../node_modules/react-native/ReactCommon" 1212 | React-runtimeexecutor: 1213 | :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" 1214 | React-runtimescheduler: 1215 | :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" 1216 | React-utils: 1217 | :path: "../node_modules/react-native/ReactCommon/react/utils" 1218 | ReactCommon: 1219 | :path: "../node_modules/react-native/ReactCommon" 1220 | ViroKit: 1221 | :path: "../node_modules/@reactvision/react-viro/ios/dist/ViroRenderer/" 1222 | ViroReact: 1223 | :path: "../node_modules/@reactvision/react-viro/ios/" 1224 | Yoga: 1225 | :path: "../node_modules/react-native/ReactCommon/yoga" 1226 | 1227 | SPEC CHECKSUMS: 1228 | boost: d3f49c53809116a5d38da093a8aa78bf551aed09 1229 | DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953 1230 | FBLazyVector: 70590b4f9e8ae9b0ce076efacea3abd7bc585ace 1231 | FBReactNativeSpec: e47ea8c8f044c25e41a4fa5e8b7ff3923d3e0a94 1232 | fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 1233 | glog: c5d68082e772fa1c511173d6b30a9de2c05a69a2 1234 | hermes-engine: 5420539d016f368cd27e008f65f777abd6098c56 1235 | libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 1236 | RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0 1237 | RCTRequired: 9b898847f76977a6dfed2a08f4c5ed37add75ec0 1238 | RCTTypeSafety: 0debdc4ba38c8138016d8d8ada4bdf9ec1b8aa82 1239 | React: f8afb04431634ac7e9b876dc96d30af9871f5946 1240 | React-callinvoker: 5ea86c3f93326867aa5114989d229db54d4759d0 1241 | React-Codegen: f8f3172b716f793b334e6603b3b33207c0e813c7 1242 | React-Core: bbac074eba495788a01d1e5455b132872bf86843 1243 | React-CoreModules: 92fee6d8f4095e151b9678e44fcf0dc8eabeae37 1244 | React-cxxreact: e856e0370bf52aea71acce10007ad9ba6a63b66c 1245 | React-debug: 23ea1f904cd98ae3b04b2b4982584641d3c7bcb5 1246 | React-Fabric: f692e74b325a408f328d337615a22539315d8a90 1247 | React-FabricImage: 969993a105d5e2a9bfab6945b78b88a2b0d70504 1248 | React-graphics: f95976953fc89d60b1022a4ea3d8281985993fe7 1249 | React-hermes: ac421eebea18bab58a57b70c590b7c11edaac00b 1250 | React-ImageManager: d67a26f14b62ff5a0c86c36d5d580940f4f07771 1251 | React-jserrorhandler: 7087c3b3d9691ba72798adf600a4157beeb16fd7 1252 | React-jsi: 57498df51dfb8a37a996f470a457d8797e931eaa 1253 | React-jsiexecutor: d83a7d7aea2ffc60dbda0f3d523578a76820f0e1 1254 | React-jsinspector: 6fad0fe14882fb6b1c32e5cc8a4bd3d33a8b6790 1255 | React-logger: cb0dd15ac67b00e7b771ef15203edcb29d4a3f8e 1256 | React-Mapbuffer: d59258be3b0d2280c6ba8964ab6e36ec69211871 1257 | React-nativeconfig: 4d3076dc3dc498ec49819e4e4225b55d3507f902 1258 | React-NativeModulesApple: 46f14baf36010b22ffd84fd89d5586e4148edfb3 1259 | React-perflogger: 27ccacf853ba725524ef2b4e444f14e34d0837b0 1260 | React-RCTActionSheet: 77dd6a2a5cfab9e85b7f1add0f7e2e9cd697d936 1261 | React-RCTAnimation: 977a25a4e8007ecc90e556abcceb1b25602eea7c 1262 | React-RCTAppDelegate: 252a478047dbc9d0ac0dcda7440b4d3fbb6184a4 1263 | React-RCTBlob: 1e18ab09f57cf3bd2b9681cbeedfca866d971f50 1264 | React-RCTFabric: f09af5b9aac819d8c362ef3030b2d16be426c176 1265 | React-RCTImage: b1eac9526111cf7e37c304f94e81b76a5ae6a984 1266 | React-RCTLinking: d7f7dc665af6442ff38e18e34308da7865347bb1 1267 | React-RCTNetwork: c2c1df3a3c838e9547259e3638f6b290aebb3b72 1268 | React-RCTSettings: f3074b14047a57fa95499c28fb89028a894d3c18 1269 | React-RCTText: 9d48b2bbce5e1ed9c4d9514414dc6d99731d1b0a 1270 | React-RCTVibration: 394ea84082b08b5b3c211dc2bc9c0c4c163e7f23 1271 | React-rendererdebug: 3445e5d7d8fa3c66974d779b6a77b41186224b0f 1272 | React-rncore: bfb1b25c3e6ce9535708a7ac109c91fed3c8085b 1273 | React-runtimeexecutor: 7e71a40def8262ef7d82a1145d873ea61b1a27b5 1274 | React-runtimescheduler: aa382ce525689b88459e1181b3649220f175dc31 1275 | React-utils: b22b4a51aa578b3aac1e7c19501c0b9ba358ed79 1276 | ReactCommon: e708b8be8cb317b83e31c6ccfeda8bf6c0d1a2b3 1277 | SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 1278 | ViroKit: 700d3d4ca086368d06224de1cbbc19781aea2094 1279 | ViroReact: f4980e6b04918c4340637f9cbaae22a6bb7ea440 1280 | Yoga: f895e8e016f8536f1daf787160476add88926d28 1281 | 1282 | PODFILE CHECKSUM: e95c998469f87510bc957640b402f1c83df47047 1283 | 1284 | COCOAPODS: 1.14.3 1285 | -------------------------------------------------------------------------------- /ios/ViroStarterKit.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 54; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 00E356F31AD99517003FC87E /* ViroStarterKitTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ViroStarterKitTests.m */; }; 11 | 0C80B921A6F3F58F76C31292 /* libPods-ViroStarterKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-ViroStarterKit.a */; }; 12 | 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.mm */; }; 13 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 14 | 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 15 | 7699B88040F8A987B510C191 /* libPods-ViroStarterKit-ViroStarterKitTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-ViroStarterKit-ViroStarterKitTests.a */; }; 16 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; }; 17 | /* End PBXBuildFile section */ 18 | 19 | /* Begin PBXContainerItemProxy section */ 20 | 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { 21 | isa = PBXContainerItemProxy; 22 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; 23 | proxyType = 1; 24 | remoteGlobalIDString = 13B07F861A680F5B00A75B9A; 25 | remoteInfo = ViroStarterKit; 26 | }; 27 | /* End PBXContainerItemProxy section */ 28 | 29 | /* Begin PBXFileReference section */ 30 | 00E356EE1AD99517003FC87E /* ViroStarterKitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ViroStarterKitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 31 | 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 32 | 00E356F21AD99517003FC87E /* ViroStarterKitTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViroStarterKitTests.m; sourceTree = ""; }; 33 | 13B07F961A680F5B00A75B9A /* ViroStarterKit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ViroStarterKit.app; sourceTree = BUILT_PRODUCTS_DIR; }; 34 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ViroStarterKit/AppDelegate.h; sourceTree = ""; }; 35 | 13B07FB01A68108700A75B9A /* AppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AppDelegate.mm; path = ViroStarterKit/AppDelegate.mm; sourceTree = ""; }; 36 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ViroStarterKit/Images.xcassets; sourceTree = ""; }; 37 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ViroStarterKit/Info.plist; sourceTree = ""; }; 38 | 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ViroStarterKit/main.m; sourceTree = ""; }; 39 | 19F6CBCC0A4E27FBF8BF4A61 /* libPods-ViroStarterKit-ViroStarterKitTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ViroStarterKit-ViroStarterKitTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 40 | 3B4392A12AC88292D35C810B /* Pods-ViroStarterKit.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ViroStarterKit.debug.xcconfig"; path = "Target Support Files/Pods-ViroStarterKit/Pods-ViroStarterKit.debug.xcconfig"; sourceTree = ""; }; 41 | 5709B34CF0A7D63546082F79 /* Pods-ViroStarterKit.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ViroStarterKit.release.xcconfig"; path = "Target Support Files/Pods-ViroStarterKit/Pods-ViroStarterKit.release.xcconfig"; sourceTree = ""; }; 42 | 5B7EB9410499542E8C5724F5 /* Pods-ViroStarterKit-ViroStarterKitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ViroStarterKit-ViroStarterKitTests.debug.xcconfig"; path = "Target Support Files/Pods-ViroStarterKit-ViroStarterKitTests/Pods-ViroStarterKit-ViroStarterKitTests.debug.xcconfig"; sourceTree = ""; }; 43 | 5DCACB8F33CDC322A6C60F78 /* libPods-ViroStarterKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-ViroStarterKit.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 44 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = ViroStarterKit/LaunchScreen.storyboard; sourceTree = ""; }; 45 | 89C6BE57DB24E9ADA2F236DE /* Pods-ViroStarterKit-ViroStarterKitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ViroStarterKit-ViroStarterKitTests.release.xcconfig"; path = "Target Support Files/Pods-ViroStarterKit-ViroStarterKitTests/Pods-ViroStarterKit-ViroStarterKitTests.release.xcconfig"; sourceTree = ""; }; 46 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 47 | /* End PBXFileReference section */ 48 | 49 | /* Begin PBXFrameworksBuildPhase section */ 50 | 00E356EB1AD99517003FC87E /* Frameworks */ = { 51 | isa = PBXFrameworksBuildPhase; 52 | buildActionMask = 2147483647; 53 | files = ( 54 | 7699B88040F8A987B510C191 /* libPods-ViroStarterKit-ViroStarterKitTests.a in Frameworks */, 55 | ); 56 | runOnlyForDeploymentPostprocessing = 0; 57 | }; 58 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { 59 | isa = PBXFrameworksBuildPhase; 60 | buildActionMask = 2147483647; 61 | files = ( 62 | 0C80B921A6F3F58F76C31292 /* libPods-ViroStarterKit.a in Frameworks */, 63 | ); 64 | runOnlyForDeploymentPostprocessing = 0; 65 | }; 66 | /* End PBXFrameworksBuildPhase section */ 67 | 68 | /* Begin PBXGroup section */ 69 | 00E356EF1AD99517003FC87E /* ViroStarterKitTests */ = { 70 | isa = PBXGroup; 71 | children = ( 72 | 00E356F21AD99517003FC87E /* ViroStarterKitTests.m */, 73 | 00E356F01AD99517003FC87E /* Supporting Files */, 74 | ); 75 | path = ViroStarterKitTests; 76 | sourceTree = ""; 77 | }; 78 | 00E356F01AD99517003FC87E /* Supporting Files */ = { 79 | isa = PBXGroup; 80 | children = ( 81 | 00E356F11AD99517003FC87E /* Info.plist */, 82 | ); 83 | name = "Supporting Files"; 84 | sourceTree = ""; 85 | }; 86 | 13B07FAE1A68108700A75B9A /* ViroStarterKit */ = { 87 | isa = PBXGroup; 88 | children = ( 89 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 90 | 13B07FB01A68108700A75B9A /* AppDelegate.mm */, 91 | 13B07FB51A68108700A75B9A /* Images.xcassets */, 92 | 13B07FB61A68108700A75B9A /* Info.plist */, 93 | 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */, 94 | 13B07FB71A68108700A75B9A /* main.m */, 95 | ); 96 | name = ViroStarterKit; 97 | sourceTree = ""; 98 | }; 99 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { 100 | isa = PBXGroup; 101 | children = ( 102 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */, 103 | 5DCACB8F33CDC322A6C60F78 /* libPods-ViroStarterKit.a */, 104 | 19F6CBCC0A4E27FBF8BF4A61 /* libPods-ViroStarterKit-ViroStarterKitTests.a */, 105 | ); 106 | name = Frameworks; 107 | sourceTree = ""; 108 | }; 109 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = { 110 | isa = PBXGroup; 111 | children = ( 112 | ); 113 | name = Libraries; 114 | sourceTree = ""; 115 | }; 116 | 83CBB9F61A601CBA00E9B192 = { 117 | isa = PBXGroup; 118 | children = ( 119 | 13B07FAE1A68108700A75B9A /* ViroStarterKit */, 120 | 832341AE1AAA6A7D00B99B32 /* Libraries */, 121 | 00E356EF1AD99517003FC87E /* ViroStarterKitTests */, 122 | 83CBBA001A601CBA00E9B192 /* Products */, 123 | 2D16E6871FA4F8E400B85C8A /* Frameworks */, 124 | BBD78D7AC51CEA395F1C20DB /* Pods */, 125 | ); 126 | indentWidth = 2; 127 | sourceTree = ""; 128 | tabWidth = 2; 129 | usesTabs = 0; 130 | }; 131 | 83CBBA001A601CBA00E9B192 /* Products */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | 13B07F961A680F5B00A75B9A /* ViroStarterKit.app */, 135 | 00E356EE1AD99517003FC87E /* ViroStarterKitTests.xctest */, 136 | ); 137 | name = Products; 138 | sourceTree = ""; 139 | }; 140 | BBD78D7AC51CEA395F1C20DB /* Pods */ = { 141 | isa = PBXGroup; 142 | children = ( 143 | 3B4392A12AC88292D35C810B /* Pods-ViroStarterKit.debug.xcconfig */, 144 | 5709B34CF0A7D63546082F79 /* Pods-ViroStarterKit.release.xcconfig */, 145 | 5B7EB9410499542E8C5724F5 /* Pods-ViroStarterKit-ViroStarterKitTests.debug.xcconfig */, 146 | 89C6BE57DB24E9ADA2F236DE /* Pods-ViroStarterKit-ViroStarterKitTests.release.xcconfig */, 147 | ); 148 | path = Pods; 149 | sourceTree = ""; 150 | }; 151 | /* End PBXGroup section */ 152 | 153 | /* Begin PBXNativeTarget section */ 154 | 00E356ED1AD99517003FC87E /* ViroStarterKitTests */ = { 155 | isa = PBXNativeTarget; 156 | buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ViroStarterKitTests" */; 157 | buildPhases = ( 158 | A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */, 159 | 00E356EA1AD99517003FC87E /* Sources */, 160 | 00E356EB1AD99517003FC87E /* Frameworks */, 161 | 00E356EC1AD99517003FC87E /* Resources */, 162 | C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */, 163 | F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */, 164 | ); 165 | buildRules = ( 166 | ); 167 | dependencies = ( 168 | 00E356F51AD99517003FC87E /* PBXTargetDependency */, 169 | ); 170 | name = ViroStarterKitTests; 171 | productName = ViroStarterKitTests; 172 | productReference = 00E356EE1AD99517003FC87E /* ViroStarterKitTests.xctest */; 173 | productType = "com.apple.product-type.bundle.unit-test"; 174 | }; 175 | 13B07F861A680F5B00A75B9A /* ViroStarterKit */ = { 176 | isa = PBXNativeTarget; 177 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ViroStarterKit" */; 178 | buildPhases = ( 179 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */, 180 | 13B07F871A680F5B00A75B9A /* Sources */, 181 | 13B07F8C1A680F5B00A75B9A /* Frameworks */, 182 | 13B07F8E1A680F5B00A75B9A /* Resources */, 183 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 184 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */, 185 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */, 186 | ); 187 | buildRules = ( 188 | ); 189 | dependencies = ( 190 | ); 191 | name = ViroStarterKit; 192 | productName = ViroStarterKit; 193 | productReference = 13B07F961A680F5B00A75B9A /* ViroStarterKit.app */; 194 | productType = "com.apple.product-type.application"; 195 | }; 196 | /* End PBXNativeTarget section */ 197 | 198 | /* Begin PBXProject section */ 199 | 83CBB9F71A601CBA00E9B192 /* Project object */ = { 200 | isa = PBXProject; 201 | attributes = { 202 | LastUpgradeCheck = 1210; 203 | TargetAttributes = { 204 | 00E356ED1AD99517003FC87E = { 205 | CreatedOnToolsVersion = 6.2; 206 | TestTargetID = 13B07F861A680F5B00A75B9A; 207 | }; 208 | 13B07F861A680F5B00A75B9A = { 209 | LastSwiftMigration = 1120; 210 | }; 211 | }; 212 | }; 213 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ViroStarterKit" */; 214 | compatibilityVersion = "Xcode 12.0"; 215 | developmentRegion = en; 216 | hasScannedForEncodings = 0; 217 | knownRegions = ( 218 | en, 219 | Base, 220 | ); 221 | mainGroup = 83CBB9F61A601CBA00E9B192; 222 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; 223 | projectDirPath = ""; 224 | projectRoot = ""; 225 | targets = ( 226 | 13B07F861A680F5B00A75B9A /* ViroStarterKit */, 227 | 00E356ED1AD99517003FC87E /* ViroStarterKitTests */, 228 | ); 229 | }; 230 | /* End PBXProject section */ 231 | 232 | /* Begin PBXResourcesBuildPhase section */ 233 | 00E356EC1AD99517003FC87E /* Resources */ = { 234 | isa = PBXResourcesBuildPhase; 235 | buildActionMask = 2147483647; 236 | files = ( 237 | ); 238 | runOnlyForDeploymentPostprocessing = 0; 239 | }; 240 | 13B07F8E1A680F5B00A75B9A /* Resources */ = { 241 | isa = PBXResourcesBuildPhase; 242 | buildActionMask = 2147483647; 243 | files = ( 244 | 81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */, 245 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 246 | ); 247 | runOnlyForDeploymentPostprocessing = 0; 248 | }; 249 | /* End PBXResourcesBuildPhase section */ 250 | 251 | /* Begin PBXShellScriptBuildPhase section */ 252 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { 253 | isa = PBXShellScriptBuildPhase; 254 | buildActionMask = 2147483647; 255 | files = ( 256 | ); 257 | inputPaths = ( 258 | "$(SRCROOT)/.xcode.env.local", 259 | "$(SRCROOT)/.xcode.env", 260 | ); 261 | name = "Bundle React Native code and images"; 262 | outputPaths = ( 263 | ); 264 | runOnlyForDeploymentPostprocessing = 0; 265 | shellPath = /bin/sh; 266 | shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n"; 267 | }; 268 | 00EEFC60759A1932668264C0 /* [CP] Embed Pods Frameworks */ = { 269 | isa = PBXShellScriptBuildPhase; 270 | buildActionMask = 2147483647; 271 | files = ( 272 | ); 273 | inputFileListPaths = ( 274 | "${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit/Pods-ViroStarterKit-frameworks-${CONFIGURATION}-input-files.xcfilelist", 275 | ); 276 | name = "[CP] Embed Pods Frameworks"; 277 | outputFileListPaths = ( 278 | "${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit/Pods-ViroStarterKit-frameworks-${CONFIGURATION}-output-files.xcfilelist", 279 | ); 280 | runOnlyForDeploymentPostprocessing = 0; 281 | shellPath = /bin/sh; 282 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit/Pods-ViroStarterKit-frameworks.sh\"\n"; 283 | showEnvVarsInLog = 0; 284 | }; 285 | A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = { 286 | isa = PBXShellScriptBuildPhase; 287 | buildActionMask = 2147483647; 288 | files = ( 289 | ); 290 | inputFileListPaths = ( 291 | ); 292 | inputPaths = ( 293 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 294 | "${PODS_ROOT}/Manifest.lock", 295 | ); 296 | name = "[CP] Check Pods Manifest.lock"; 297 | outputFileListPaths = ( 298 | ); 299 | outputPaths = ( 300 | "$(DERIVED_FILE_DIR)/Pods-ViroStarterKit-ViroStarterKitTests-checkManifestLockResult.txt", 301 | ); 302 | runOnlyForDeploymentPostprocessing = 0; 303 | shellPath = /bin/sh; 304 | 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"; 305 | showEnvVarsInLog = 0; 306 | }; 307 | C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = { 308 | isa = PBXShellScriptBuildPhase; 309 | buildActionMask = 2147483647; 310 | files = ( 311 | ); 312 | inputFileListPaths = ( 313 | ); 314 | inputPaths = ( 315 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 316 | "${PODS_ROOT}/Manifest.lock", 317 | ); 318 | name = "[CP] Check Pods Manifest.lock"; 319 | outputFileListPaths = ( 320 | ); 321 | outputPaths = ( 322 | "$(DERIVED_FILE_DIR)/Pods-ViroStarterKit-checkManifestLockResult.txt", 323 | ); 324 | runOnlyForDeploymentPostprocessing = 0; 325 | shellPath = /bin/sh; 326 | 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"; 327 | showEnvVarsInLog = 0; 328 | }; 329 | C59DA0FBD6956966B86A3779 /* [CP] Embed Pods Frameworks */ = { 330 | isa = PBXShellScriptBuildPhase; 331 | buildActionMask = 2147483647; 332 | files = ( 333 | ); 334 | inputFileListPaths = ( 335 | "${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit-ViroStarterKitTests/Pods-ViroStarterKit-ViroStarterKitTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", 336 | ); 337 | name = "[CP] Embed Pods Frameworks"; 338 | outputFileListPaths = ( 339 | "${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit-ViroStarterKitTests/Pods-ViroStarterKit-ViroStarterKitTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", 340 | ); 341 | runOnlyForDeploymentPostprocessing = 0; 342 | shellPath = /bin/sh; 343 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit-ViroStarterKitTests/Pods-ViroStarterKit-ViroStarterKitTests-frameworks.sh\"\n"; 344 | showEnvVarsInLog = 0; 345 | }; 346 | E235C05ADACE081382539298 /* [CP] Copy Pods Resources */ = { 347 | isa = PBXShellScriptBuildPhase; 348 | buildActionMask = 2147483647; 349 | files = ( 350 | ); 351 | inputFileListPaths = ( 352 | "${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit/Pods-ViroStarterKit-resources-${CONFIGURATION}-input-files.xcfilelist", 353 | ); 354 | name = "[CP] Copy Pods Resources"; 355 | outputFileListPaths = ( 356 | "${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit/Pods-ViroStarterKit-resources-${CONFIGURATION}-output-files.xcfilelist", 357 | ); 358 | runOnlyForDeploymentPostprocessing = 0; 359 | shellPath = /bin/sh; 360 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit/Pods-ViroStarterKit-resources.sh\"\n"; 361 | showEnvVarsInLog = 0; 362 | }; 363 | F6A41C54EA430FDDC6A6ED99 /* [CP] Copy Pods Resources */ = { 364 | isa = PBXShellScriptBuildPhase; 365 | buildActionMask = 2147483647; 366 | files = ( 367 | ); 368 | inputFileListPaths = ( 369 | "${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit-ViroStarterKitTests/Pods-ViroStarterKit-ViroStarterKitTests-resources-${CONFIGURATION}-input-files.xcfilelist", 370 | ); 371 | name = "[CP] Copy Pods Resources"; 372 | outputFileListPaths = ( 373 | "${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit-ViroStarterKitTests/Pods-ViroStarterKit-ViroStarterKitTests-resources-${CONFIGURATION}-output-files.xcfilelist", 374 | ); 375 | runOnlyForDeploymentPostprocessing = 0; 376 | shellPath = /bin/sh; 377 | shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ViroStarterKit-ViroStarterKitTests/Pods-ViroStarterKit-ViroStarterKitTests-resources.sh\"\n"; 378 | showEnvVarsInLog = 0; 379 | }; 380 | /* End PBXShellScriptBuildPhase section */ 381 | 382 | /* Begin PBXSourcesBuildPhase section */ 383 | 00E356EA1AD99517003FC87E /* Sources */ = { 384 | isa = PBXSourcesBuildPhase; 385 | buildActionMask = 2147483647; 386 | files = ( 387 | 00E356F31AD99517003FC87E /* ViroStarterKitTests.m in Sources */, 388 | ); 389 | runOnlyForDeploymentPostprocessing = 0; 390 | }; 391 | 13B07F871A680F5B00A75B9A /* Sources */ = { 392 | isa = PBXSourcesBuildPhase; 393 | buildActionMask = 2147483647; 394 | files = ( 395 | 13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */, 396 | 13B07FC11A68108700A75B9A /* main.m in Sources */, 397 | ); 398 | runOnlyForDeploymentPostprocessing = 0; 399 | }; 400 | /* End PBXSourcesBuildPhase section */ 401 | 402 | /* Begin PBXTargetDependency section */ 403 | 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { 404 | isa = PBXTargetDependency; 405 | target = 13B07F861A680F5B00A75B9A /* ViroStarterKit */; 406 | targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; 407 | }; 408 | /* End PBXTargetDependency section */ 409 | 410 | /* Begin XCBuildConfiguration section */ 411 | 00E356F61AD99517003FC87E /* Debug */ = { 412 | isa = XCBuildConfiguration; 413 | baseConfigurationReference = 5B7EB9410499542E8C5724F5 /* Pods-ViroStarterKit-ViroStarterKitTests.debug.xcconfig */; 414 | buildSettings = { 415 | BUNDLE_LOADER = "$(TEST_HOST)"; 416 | GCC_PREPROCESSOR_DEFINITIONS = ( 417 | "DEBUG=1", 418 | "$(inherited)", 419 | ); 420 | INFOPLIST_FILE = ViroStarterKitTests/Info.plist; 421 | IPHONEOS_DEPLOYMENT_TARGET = 13.4; 422 | LD_RUNPATH_SEARCH_PATHS = ( 423 | "$(inherited)", 424 | "@executable_path/Frameworks", 425 | "@loader_path/Frameworks", 426 | ); 427 | OTHER_LDFLAGS = ( 428 | "-ObjC", 429 | "-lc++", 430 | "$(inherited)", 431 | ); 432 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 433 | PRODUCT_NAME = "$(TARGET_NAME)"; 434 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ViroStarterKit.app/ViroStarterKit"; 435 | }; 436 | name = Debug; 437 | }; 438 | 00E356F71AD99517003FC87E /* Release */ = { 439 | isa = XCBuildConfiguration; 440 | baseConfigurationReference = 89C6BE57DB24E9ADA2F236DE /* Pods-ViroStarterKit-ViroStarterKitTests.release.xcconfig */; 441 | buildSettings = { 442 | BUNDLE_LOADER = "$(TEST_HOST)"; 443 | COPY_PHASE_STRIP = NO; 444 | INFOPLIST_FILE = ViroStarterKitTests/Info.plist; 445 | IPHONEOS_DEPLOYMENT_TARGET = 13.4; 446 | LD_RUNPATH_SEARCH_PATHS = ( 447 | "$(inherited)", 448 | "@executable_path/Frameworks", 449 | "@loader_path/Frameworks", 450 | ); 451 | OTHER_LDFLAGS = ( 452 | "-ObjC", 453 | "-lc++", 454 | "$(inherited)", 455 | ); 456 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 457 | PRODUCT_NAME = "$(TARGET_NAME)"; 458 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ViroStarterKit.app/ViroStarterKit"; 459 | }; 460 | name = Release; 461 | }; 462 | 13B07F941A680F5B00A75B9A /* Debug */ = { 463 | isa = XCBuildConfiguration; 464 | baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-ViroStarterKit.debug.xcconfig */; 465 | buildSettings = { 466 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 467 | CLANG_ENABLE_MODULES = YES; 468 | CURRENT_PROJECT_VERSION = 1; 469 | DEVELOPMENT_TEAM = K9FMHQ779Z; 470 | ENABLE_BITCODE = NO; 471 | INFOPLIST_FILE = ViroStarterKit/Info.plist; 472 | LD_RUNPATH_SEARCH_PATHS = ( 473 | "$(inherited)", 474 | "@executable_path/Frameworks", 475 | ); 476 | MARKETING_VERSION = 1.0; 477 | OTHER_LDFLAGS = ( 478 | "$(inherited)", 479 | "-ObjC", 480 | "-lc++", 481 | ); 482 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 483 | PRODUCT_NAME = ViroStarterKit; 484 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 485 | SWIFT_VERSION = 5.0; 486 | VERSIONING_SYSTEM = "apple-generic"; 487 | }; 488 | name = Debug; 489 | }; 490 | 13B07F951A680F5B00A75B9A /* Release */ = { 491 | isa = XCBuildConfiguration; 492 | baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-ViroStarterKit.release.xcconfig */; 493 | buildSettings = { 494 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 495 | CLANG_ENABLE_MODULES = YES; 496 | CURRENT_PROJECT_VERSION = 1; 497 | DEVELOPMENT_TEAM = K9FMHQ779Z; 498 | INFOPLIST_FILE = ViroStarterKit/Info.plist; 499 | LD_RUNPATH_SEARCH_PATHS = ( 500 | "$(inherited)", 501 | "@executable_path/Frameworks", 502 | ); 503 | MARKETING_VERSION = 1.0; 504 | OTHER_LDFLAGS = ( 505 | "$(inherited)", 506 | "-ObjC", 507 | "-lc++", 508 | ); 509 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 510 | PRODUCT_NAME = ViroStarterKit; 511 | SWIFT_VERSION = 5.0; 512 | VERSIONING_SYSTEM = "apple-generic"; 513 | }; 514 | name = Release; 515 | }; 516 | 83CBBA201A601CBA00E9B192 /* Debug */ = { 517 | isa = XCBuildConfiguration; 518 | buildSettings = { 519 | ALWAYS_SEARCH_USER_PATHS = NO; 520 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 521 | CLANG_CXX_LANGUAGE_STANDARD = "c++20"; 522 | CLANG_CXX_LIBRARY = "libc++"; 523 | CLANG_ENABLE_MODULES = YES; 524 | CLANG_ENABLE_OBJC_ARC = YES; 525 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 526 | CLANG_WARN_BOOL_CONVERSION = YES; 527 | CLANG_WARN_COMMA = YES; 528 | CLANG_WARN_CONSTANT_CONVERSION = YES; 529 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 530 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 531 | CLANG_WARN_EMPTY_BODY = YES; 532 | CLANG_WARN_ENUM_CONVERSION = YES; 533 | CLANG_WARN_INFINITE_RECURSION = YES; 534 | CLANG_WARN_INT_CONVERSION = YES; 535 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 536 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 537 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 538 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 539 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 540 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 541 | CLANG_WARN_STRICT_PROTOTYPES = YES; 542 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 543 | CLANG_WARN_UNREACHABLE_CODE = YES; 544 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 545 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 546 | COPY_PHASE_STRIP = NO; 547 | ENABLE_STRICT_OBJC_MSGSEND = YES; 548 | ENABLE_TESTABILITY = YES; 549 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; 550 | GCC_C_LANGUAGE_STANDARD = gnu99; 551 | GCC_DYNAMIC_NO_PIC = NO; 552 | GCC_NO_COMMON_BLOCKS = YES; 553 | GCC_OPTIMIZATION_LEVEL = 0; 554 | GCC_PREPROCESSOR_DEFINITIONS = ( 555 | "DEBUG=1", 556 | "$(inherited)", 557 | ); 558 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 559 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 560 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 561 | GCC_WARN_UNDECLARED_SELECTOR = YES; 562 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 563 | GCC_WARN_UNUSED_FUNCTION = YES; 564 | GCC_WARN_UNUSED_VARIABLE = YES; 565 | IPHONEOS_DEPLOYMENT_TARGET = 13.4; 566 | LD_RUNPATH_SEARCH_PATHS = ( 567 | /usr/lib/swift, 568 | "$(inherited)", 569 | ); 570 | LIBRARY_SEARCH_PATHS = ( 571 | "\"$(SDKROOT)/usr/lib/swift\"", 572 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", 573 | "\"$(inherited)\"", 574 | ); 575 | MTL_ENABLE_DEBUG_INFO = YES; 576 | ONLY_ACTIVE_ARCH = YES; 577 | OTHER_CFLAGS = "$(inherited)"; 578 | OTHER_CPLUSPLUSFLAGS = ( 579 | "$(OTHER_CFLAGS)", 580 | "-DFOLLY_NO_CONFIG", 581 | "-DFOLLY_MOBILE=1", 582 | "-DFOLLY_USE_LIBCPP=1", 583 | "-DFOLLY_CFG_NO_COROUTINES=1", 584 | ); 585 | OTHER_LDFLAGS = ( 586 | "$(inherited)", 587 | " ", 588 | ); 589 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; 590 | SDKROOT = iphoneos; 591 | USE_HERMES = true; 592 | }; 593 | name = Debug; 594 | }; 595 | 83CBBA211A601CBA00E9B192 /* Release */ = { 596 | isa = XCBuildConfiguration; 597 | buildSettings = { 598 | ALWAYS_SEARCH_USER_PATHS = NO; 599 | CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; 600 | CLANG_CXX_LANGUAGE_STANDARD = "c++20"; 601 | CLANG_CXX_LIBRARY = "libc++"; 602 | CLANG_ENABLE_MODULES = YES; 603 | CLANG_ENABLE_OBJC_ARC = YES; 604 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 605 | CLANG_WARN_BOOL_CONVERSION = YES; 606 | CLANG_WARN_COMMA = YES; 607 | CLANG_WARN_CONSTANT_CONVERSION = YES; 608 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 609 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 610 | CLANG_WARN_EMPTY_BODY = YES; 611 | CLANG_WARN_ENUM_CONVERSION = YES; 612 | CLANG_WARN_INFINITE_RECURSION = YES; 613 | CLANG_WARN_INT_CONVERSION = YES; 614 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 615 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 616 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 617 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 618 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 619 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 620 | CLANG_WARN_STRICT_PROTOTYPES = YES; 621 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 622 | CLANG_WARN_UNREACHABLE_CODE = YES; 623 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 624 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 625 | COPY_PHASE_STRIP = YES; 626 | ENABLE_NS_ASSERTIONS = NO; 627 | ENABLE_STRICT_OBJC_MSGSEND = YES; 628 | "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = i386; 629 | GCC_C_LANGUAGE_STANDARD = gnu99; 630 | GCC_NO_COMMON_BLOCKS = YES; 631 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 632 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 633 | GCC_WARN_UNDECLARED_SELECTOR = YES; 634 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 635 | GCC_WARN_UNUSED_FUNCTION = YES; 636 | GCC_WARN_UNUSED_VARIABLE = YES; 637 | IPHONEOS_DEPLOYMENT_TARGET = 13.4; 638 | LD_RUNPATH_SEARCH_PATHS = ( 639 | /usr/lib/swift, 640 | "$(inherited)", 641 | ); 642 | LIBRARY_SEARCH_PATHS = ( 643 | "\"$(SDKROOT)/usr/lib/swift\"", 644 | "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", 645 | "\"$(inherited)\"", 646 | ); 647 | MTL_ENABLE_DEBUG_INFO = NO; 648 | OTHER_CFLAGS = "$(inherited)"; 649 | OTHER_CPLUSPLUSFLAGS = ( 650 | "$(OTHER_CFLAGS)", 651 | "-DFOLLY_NO_CONFIG", 652 | "-DFOLLY_MOBILE=1", 653 | "-DFOLLY_USE_LIBCPP=1", 654 | "-DFOLLY_CFG_NO_COROUTINES=1", 655 | ); 656 | OTHER_LDFLAGS = ( 657 | "$(inherited)", 658 | " ", 659 | ); 660 | REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; 661 | SDKROOT = iphoneos; 662 | USE_HERMES = true; 663 | VALIDATE_PRODUCT = YES; 664 | }; 665 | name = Release; 666 | }; 667 | /* End XCBuildConfiguration section */ 668 | 669 | /* Begin XCConfigurationList section */ 670 | 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ViroStarterKitTests" */ = { 671 | isa = XCConfigurationList; 672 | buildConfigurations = ( 673 | 00E356F61AD99517003FC87E /* Debug */, 674 | 00E356F71AD99517003FC87E /* Release */, 675 | ); 676 | defaultConfigurationIsVisible = 0; 677 | defaultConfigurationName = Release; 678 | }; 679 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ViroStarterKit" */ = { 680 | isa = XCConfigurationList; 681 | buildConfigurations = ( 682 | 13B07F941A680F5B00A75B9A /* Debug */, 683 | 13B07F951A680F5B00A75B9A /* Release */, 684 | ); 685 | defaultConfigurationIsVisible = 0; 686 | defaultConfigurationName = Release; 687 | }; 688 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ViroStarterKit" */ = { 689 | isa = XCConfigurationList; 690 | buildConfigurations = ( 691 | 83CBBA201A601CBA00E9B192 /* Debug */, 692 | 83CBBA211A601CBA00E9B192 /* Release */, 693 | ); 694 | defaultConfigurationIsVisible = 0; 695 | defaultConfigurationName = Release; 696 | }; 697 | /* End XCConfigurationList section */ 698 | }; 699 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; 700 | } 701 | -------------------------------------------------------------------------------- /ios/ViroStarterKit.xcodeproj/xcshareddata/xcschemes/ViroStarterKit.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 33 | 39 | 40 | 41 | 42 | 43 | 53 | 55 | 61 | 62 | 63 | 64 | 70 | 72 | 78 | 79 | 80 | 81 | 83 | 84 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /ios/ViroStarterKit.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ios/ViroStarterKit.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/ViroStarterKit/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : RCTAppDelegate 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /ios/ViroStarterKit/AppDelegate.mm: -------------------------------------------------------------------------------- 1 | #import "AppDelegate.h" 2 | 3 | #import 4 | 5 | @implementation AppDelegate 6 | 7 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 8 | { 9 | self.moduleName = @"ViroStarterKit"; 10 | // You can add your custom initial props in the dictionary below. 11 | // They will be passed down to the ViewController used by React Native. 12 | self.initialProps = @{}; 13 | 14 | return [super application:application didFinishLaunchingWithOptions:launchOptions]; 15 | } 16 | 17 | - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge 18 | { 19 | return [self getBundleURL]; 20 | } 21 | 22 | - (NSURL *)getBundleURL 23 | { 24 | #if DEBUG 25 | return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; 26 | #else 27 | return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 28 | #endif 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /ios/ViroStarterKit/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "scale" : "2x", 6 | "size" : "20x20" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "scale" : "3x", 11 | "size" : "20x20" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "scale" : "2x", 16 | "size" : "29x29" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "scale" : "3x", 21 | "size" : "29x29" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "scale" : "2x", 26 | "size" : "40x40" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "scale" : "3x", 31 | "size" : "40x40" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "scale" : "2x", 36 | "size" : "60x60" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "scale" : "3x", 41 | "size" : "60x60" 42 | }, 43 | { 44 | "idiom" : "ios-marketing", 45 | "scale" : "1x", 46 | "size" : "1024x1024" 47 | } 48 | ], 49 | "info" : { 50 | "author" : "xcode", 51 | "version" : 1 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /ios/ViroStarterKit/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ios/ViroStarterKit/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSCameraUsageDescription 6 | Allow $(PRODUCT_NAME) to use your camera 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleDisplayName 10 | ViroStarterKit 11 | CFBundleExecutable 12 | $(EXECUTABLE_NAME) 13 | CFBundleIdentifier 14 | $(PRODUCT_BUNDLE_IDENTIFIER) 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | $(PRODUCT_NAME) 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | $(MARKETING_VERSION) 23 | CFBundleSignature 24 | ???? 25 | CFBundleVersion 26 | $(CURRENT_PROJECT_VERSION) 27 | LSRequiresIPhoneOS 28 | 29 | NSAppTransportSecurity 30 | 31 | NSAllowsArbitraryLoads 32 | 33 | NSAllowsLocalNetworking 34 | 35 | 36 | NSLocationWhenInUseUsageDescription 37 | 38 | UILaunchStoryboardName 39 | LaunchScreen 40 | UIRequiredDeviceCapabilities 41 | 42 | armv7 43 | 44 | UISupportedInterfaceOrientations 45 | 46 | UIInterfaceOrientationPortrait 47 | UIInterfaceOrientationLandscapeLeft 48 | UIInterfaceOrientationLandscapeRight 49 | 50 | UIViewControllerBasedStatusBarAppearance 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /ios/ViroStarterKit/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 24 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /ios/ViroStarterKit/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char *argv[]) 6 | { 7 | @autoreleasepool { 8 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /ios/ViroStarterKitTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /ios/ViroStarterKitTests/ViroStarterKitTests.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | #import 5 | #import 6 | 7 | #define TIMEOUT_SECONDS 600 8 | #define TEXT_TO_LOOK_FOR @"Welcome to React" 9 | 10 | @interface ViroStarterKitTests : XCTestCase 11 | 12 | @end 13 | 14 | @implementation ViroStarterKitTests 15 | 16 | - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL (^)(UIView *view))test 17 | { 18 | if (test(view)) { 19 | return YES; 20 | } 21 | for (UIView *subview in [view subviews]) { 22 | if ([self findSubviewInView:subview matching:test]) { 23 | return YES; 24 | } 25 | } 26 | return NO; 27 | } 28 | 29 | - (void)testRendersWelcomeScreen 30 | { 31 | UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; 32 | NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; 33 | BOOL foundElement = NO; 34 | 35 | __block NSString *redboxError = nil; 36 | #ifdef DEBUG 37 | RCTSetLogFunction( 38 | ^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { 39 | if (level >= RCTLogLevelError) { 40 | redboxError = message; 41 | } 42 | }); 43 | #endif 44 | 45 | while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { 46 | [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 47 | [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 48 | 49 | foundElement = [self findSubviewInView:vc.view 50 | matching:^BOOL(UIView *view) { 51 | if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { 52 | return YES; 53 | } 54 | return NO; 55 | }]; 56 | } 57 | 58 | #ifdef DEBUG 59 | RCTSetLogFunction(RCTDefaultLogFunction); 60 | #endif 61 | 62 | XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); 63 | XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); 64 | } 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: 'react-native', 3 | }; 4 | -------------------------------------------------------------------------------- /metro.config.js: -------------------------------------------------------------------------------- 1 | const { getDefaultConfig, mergeConfig } = require("@react-native/metro-config"); 2 | 3 | /** 4 | * Metro configuration 5 | * https://facebook.github.io/metro/docs/configuration 6 | * 7 | * @type {import('metro-config').MetroConfig} 8 | */ 9 | 10 | const defaultConfig = getDefaultConfig(__dirname); 11 | 12 | const config = { 13 | transformer: { 14 | getTransformOptions: async () => ({ 15 | transform: { 16 | experimentalImportSupport: false, 17 | inlineRequires: true, 18 | }, 19 | }), 20 | }, 21 | resolver: { 22 | assetExts: [ 23 | ...defaultConfig.resolver.assetExts, 24 | "obj", 25 | "mtl", 26 | "JPG", 27 | "vrx", 28 | "hdr", 29 | "gltf", 30 | "glb", 31 | "bin", 32 | "arobject", 33 | "gif", 34 | ], 35 | }, 36 | }; 37 | 38 | module.exports = mergeConfig(defaultConfig, config); 39 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ViroStarterKit", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "android": "react-native run-android", 7 | "ios": "react-native run-ios", 8 | "lint": "eslint .", 9 | "start": "react-native start", 10 | "test": "jest" 11 | }, 12 | "dependencies": { 13 | "@reactvision/react-viro": "^2.41.4", 14 | "react": "18.2.0", 15 | "react-native": "0.73.3" 16 | }, 17 | "devDependencies": { 18 | "@babel/core": "^7.20.0", 19 | "@babel/preset-env": "^7.20.0", 20 | "@babel/runtime": "^7.20.0", 21 | "@react-native/babel-preset": "0.73.20", 22 | "@react-native/eslint-config": "0.73.2", 23 | "@react-native/metro-config": "0.73.4", 24 | "@react-native/typescript-config": "0.73.1", 25 | "@types/react": "^18.2.6", 26 | "@types/react-test-renderer": "^18.0.0", 27 | "babel-jest": "^29.6.3", 28 | "eslint": "^8.19.0", 29 | "jest": "^29.6.3", 30 | "prettier": "2.8.8", 31 | "react-test-renderer": "18.2.0", 32 | "typescript": "5.0.4" 33 | }, 34 | "engines": { 35 | "node": ">=18" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@react-native/typescript-config/tsconfig.json" 3 | } 4 | --------------------------------------------------------------------------------