소스 검색

chore(example): Added example app

Jesse Katsumata 4 년 전
부모
커밋
3a9218031f
58개의 변경된 파일9576개의 추가작업 그리고 0개의 파일을 삭제
  1. 1
    0
      example/.gitattributes
  2. 64
    0
      example/.gitignore
  3. 6
    0
      example/.prettierrc.js
  4. 1
    0
      example/.watchmanconfig
  5. 17
    0
      example/App.tsx
  6. 55
    0
      example/android/app/_BUCK
  7. 201
    0
      example/android/app/build.gradle
  8. 19
    0
      example/android/app/build_defs.bzl
  9. BIN
      example/android/app/debug.keystore
  10. 10
    0
      example/android/app/proguard-rules.pro
  11. 8
    0
      example/android/app/src/debug/AndroidManifest.xml
  12. 26
    0
      example/android/app/src/main/AndroidManifest.xml
  13. 15
    0
      example/android/app/src/main/java/com/example/MainActivity.java
  14. 74
    0
      example/android/app/src/main/java/com/example/MainApplication.java
  15. BIN
      example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  16. BIN
      example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  17. BIN
      example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  18. BIN
      example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  19. BIN
      example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  20. BIN
      example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  21. BIN
      example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  22. BIN
      example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  23. BIN
      example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  24. BIN
      example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  25. 3
    0
      example/android/app/src/main/res/values/strings.xml
  26. 9
    0
      example/android/app/src/main/res/values/styles.xml
  27. 38
    0
      example/android/build.gradle
  28. 21
    0
      example/android/gradle.properties
  29. BIN
      example/android/gradle/wrapper/gradle-wrapper.jar
  30. 5
    0
      example/android/gradle/wrapper/gradle-wrapper.properties
  31. 188
    0
      example/android/gradlew
  32. 100
    0
      example/android/gradlew.bat
  33. 3
    0
      example/android/settings.gradle
  34. 4
    0
      example/app.json
  35. 3
    0
      example/babel.config.js
  36. 9
    0
      example/index.js
  37. 53
    0
      example/ios/Podfile
  38. 344
    0
      example/ios/Podfile.lock
  39. 53
    0
      example/ios/example-tvOS/Info.plist
  40. 24
    0
      example/ios/example-tvOSTests/Info.plist
  41. 925
    0
      example/ios/example.xcodeproj/project.pbxproj
  42. 129
    0
      example/ios/example.xcodeproj/xcshareddata/xcschemes/example-tvOS.xcscheme
  43. 129
    0
      example/ios/example.xcodeproj/xcshareddata/xcschemes/example.xcscheme
  44. 10
    0
      example/ios/example.xcworkspace/contents.xcworkspacedata
  45. 8
    0
      example/ios/example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  46. 15
    0
      example/ios/example/AppDelegate.h
  47. 42
    0
      example/ios/example/AppDelegate.m
  48. 42
    0
      example/ios/example/Base.lproj/LaunchScreen.xib
  49. 38
    0
      example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json
  50. 6
    0
      example/ios/example/Images.xcassets/Contents.json
  51. 57
    0
      example/ios/example/Info.plist
  52. 16
    0
      example/ios/example/main.m
  53. 24
    0
      example/ios/exampleTests/Info.plist
  54. 72
    0
      example/ios/exampleTests/exampleTests.m
  55. 17
    0
      example/metro.config.js
  56. 39
    0
      example/package.json
  57. 62
    0
      example/tsconfig.json
  58. 6591
    0
      example/yarn.lock

+ 1
- 0
example/.gitattributes 파일 보기

@@ -0,0 +1 @@
1
+*.pbxproj -text

+ 64
- 0
example/.gitignore 파일 보기

@@ -0,0 +1,64 @@
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
+project.xcworkspace
24
+
25
+# Android/IntelliJ
26
+#
27
+build/
28
+.idea
29
+.gradle
30
+local.properties
31
+*.iml
32
+
33
+# Visual Studio Code
34
+#
35
+.vscode/
36
+
37
+# node.js
38
+#
39
+node_modules/
40
+npm-debug.log
41
+yarn-error.log
42
+
43
+# BUCK
44
+buck-out/
45
+\.buckd/
46
+*.keystore
47
+!debug.keystore
48
+
49
+# fastlane
50
+#
51
+# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
52
+# screenshots whenever they are needed.
53
+# For more information about the recommended setup visit:
54
+# https://docs.fastlane.tools/best-practices/source-control/
55
+
56
+*/fastlane/report.xml
57
+*/fastlane/Preview.html
58
+*/fastlane/screenshots
59
+
60
+# Bundle artifact
61
+*.jsbundle
62
+
63
+# CocoaPods
64
+/ios/Pods/

+ 6
- 0
example/.prettierrc.js 파일 보기

@@ -0,0 +1,6 @@
1
+module.exports = {
2
+  bracketSpacing: false,
3
+  jsxBracketSameLine: true,
4
+  singleQuote: true,
5
+  trailingComma: 'all',
6
+};

+ 1
- 0
example/.watchmanconfig 파일 보기

@@ -0,0 +1 @@
1
+{}

+ 17
- 0
example/App.tsx 파일 보기

@@ -0,0 +1,17 @@
1
+import React from 'react';
2
+import {SafeAreaView, StyleSheet} from 'react-native';
3
+import {WebView} from 'react-native-webview';
4
+
5
+const styles = StyleSheet.create({
6
+  container: {flex: 1, backgroundColor: '#20232a'},
7
+});
8
+
9
+const App = () => {
10
+  return (
11
+    <SafeAreaView style={styles.container}>
12
+      <WebView source={{uri: 'https://facebook.github.io/react-native/'}} />
13
+    </SafeAreaView>
14
+  );
15
+};
16
+
17
+export default App;

+ 55
- 0
example/android/app/_BUCK 파일 보기

@@ -0,0 +1,55 @@
1
+# To learn about Buck see [Docs](https://buckbuild.com/).
2
+# To run your application with Buck:
3
+# - install Buck
4
+# - `npm start` - to start the packager
5
+# - `cd android`
6
+# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
7
+# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
8
+# - `buck install -r android/app` - compile, install and run application
9
+#
10
+
11
+load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
12
+
13
+lib_deps = []
14
+
15
+create_aar_targets(glob(["libs/*.aar"]))
16
+
17
+create_jar_targets(glob(["libs/*.jar"]))
18
+
19
+android_library(
20
+    name = "all-libs",
21
+    exported_deps = lib_deps,
22
+)
23
+
24
+android_library(
25
+    name = "app-code",
26
+    srcs = glob([
27
+        "src/main/java/**/*.java",
28
+    ]),
29
+    deps = [
30
+        ":all-libs",
31
+        ":build_config",
32
+        ":res",
33
+    ],
34
+)
35
+
36
+android_build_config(
37
+    name = "build_config",
38
+    package = "com.example",
39
+)
40
+
41
+android_resource(
42
+    name = "res",
43
+    package = "com.example",
44
+    res = "src/main/res",
45
+)
46
+
47
+android_binary(
48
+    name = "app",
49
+    keystore = "//android/keystores:debug",
50
+    manifest = "src/main/AndroidManifest.xml",
51
+    package_type = "debug",
52
+    deps = [
53
+        ":app-code",
54
+    ],
55
+)

+ 201
- 0
example/android/app/build.gradle 파일 보기

@@ -0,0 +1,201 @@
1
+apply plugin: "com.android.application"
2
+
3
+import com.android.build.OutputFile
4
+
5
+/**
6
+ * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
7
+ * and bundleReleaseJsAndAssets).
8
+ * These basically call `react-native bundle` with the correct arguments during the Android build
9
+ * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
10
+ * bundle directly from the development server. Below you can see all the possible configurations
11
+ * and their defaults. If you decide to add a configuration block, make sure to add it before the
12
+ * `apply from: "../../node_modules/react-native/react.gradle"` line.
13
+ *
14
+ * project.ext.react = [
15
+ *   // the name of the generated asset file containing your JS bundle
16
+ *   bundleAssetName: "index.android.bundle",
17
+ *
18
+ *   // the entry file for bundle generation
19
+ *   entryFile: "index.android.js",
20
+ *
21
+ *   // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format
22
+ *   bundleCommand: "ram-bundle",
23
+ *
24
+ *   // whether to bundle JS and assets in debug mode
25
+ *   bundleInDebug: false,
26
+ *
27
+ *   // whether to bundle JS and assets in release mode
28
+ *   bundleInRelease: true,
29
+ *
30
+ *   // whether to bundle JS and assets in another build variant (if configured).
31
+ *   // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
32
+ *   // The configuration property can be in the following formats
33
+ *   //         'bundleIn${productFlavor}${buildType}'
34
+ *   //         'bundleIn${buildType}'
35
+ *   // bundleInFreeDebug: true,
36
+ *   // bundleInPaidRelease: true,
37
+ *   // bundleInBeta: true,
38
+ *
39
+ *   // whether to disable dev mode in custom build variants (by default only disabled in release)
40
+ *   // for example: to disable dev mode in the staging build type (if configured)
41
+ *   devDisabledInStaging: true,
42
+ *   // The configuration property can be in the following formats
43
+ *   //         'devDisabledIn${productFlavor}${buildType}'
44
+ *   //         'devDisabledIn${buildType}'
45
+ *
46
+ *   // the root of your project, i.e. where "package.json" lives
47
+ *   root: "../../",
48
+ *
49
+ *   // where to put the JS bundle asset in debug mode
50
+ *   jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
51
+ *
52
+ *   // where to put the JS bundle asset in release mode
53
+ *   jsBundleDirRelease: "$buildDir/intermediates/assets/release",
54
+ *
55
+ *   // where to put drawable resources / React Native assets, e.g. the ones you use via
56
+ *   // require('./image.png')), in debug mode
57
+ *   resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
58
+ *
59
+ *   // where to put drawable resources / React Native assets, e.g. the ones you use via
60
+ *   // require('./image.png')), in release mode
61
+ *   resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
62
+ *
63
+ *   // by default the gradle tasks are skipped if none of the JS files or assets change; this means
64
+ *   // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
65
+ *   // date; if you have any other folders that you want to ignore for performance reasons (gradle
66
+ *   // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
67
+ *   // for example, you might want to remove it from here.
68
+ *   inputExcludes: ["android/**", "ios/**"],
69
+ *
70
+ *   // override which node gets called and with what additional arguments
71
+ *   nodeExecutableAndArgs: ["node"],
72
+ *
73
+ *   // supply additional arguments to the packager
74
+ *   extraPackagerArgs: []
75
+ * ]
76
+ */
77
+
78
+project.ext.react = [
79
+    entryFile: "index.js",
80
+    enableHermes: false,  // clean and rebuild if changing
81
+]
82
+
83
+apply from: "../../node_modules/react-native/react.gradle"
84
+
85
+/**
86
+ * Set this to true to create two separate APKs instead of one:
87
+ *   - An APK that only works on ARM devices
88
+ *   - An APK that only works on x86 devices
89
+ * The advantage is the size of the APK is reduced by about 4MB.
90
+ * Upload all the APKs to the Play Store and people will download
91
+ * the correct one based on the CPU architecture of their device.
92
+ */
93
+def enableSeparateBuildPerCPUArchitecture = false
94
+
95
+/**
96
+ * Run Proguard to shrink the Java bytecode in release builds.
97
+ */
98
+def enableProguardInReleaseBuilds = false
99
+
100
+/**
101
+ * The preferred build flavor of JavaScriptCore.
102
+ *
103
+ * For example, to use the international variant, you can use:
104
+ * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
105
+ *
106
+ * The international variant includes ICU i18n library and necessary data
107
+ * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
108
+ * give correct results when using with locales other than en-US.  Note that
109
+ * this variant is about 6MiB larger per architecture than default.
110
+ */
111
+def jscFlavor = 'org.webkit:android-jsc:+'
112
+
113
+/**
114
+ * Whether to enable the Hermes VM.
115
+ *
116
+ * This should be set on project.ext.react and mirrored here.  If it is not set
117
+ * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
118
+ * and the benefits of using Hermes will therefore be sharply reduced.
119
+ */
120
+def enableHermes = project.ext.react.get("enableHermes", false);
121
+
122
+android {
123
+    compileSdkVersion rootProject.ext.compileSdkVersion
124
+
125
+    compileOptions {
126
+        sourceCompatibility JavaVersion.VERSION_1_8
127
+        targetCompatibility JavaVersion.VERSION_1_8
128
+    }
129
+
130
+    defaultConfig {
131
+        applicationId "com.example"
132
+        minSdkVersion rootProject.ext.minSdkVersion
133
+        targetSdkVersion rootProject.ext.targetSdkVersion
134
+        versionCode 1
135
+        versionName "1.0"
136
+    }
137
+    splits {
138
+        abi {
139
+            reset()
140
+            enable enableSeparateBuildPerCPUArchitecture
141
+            universalApk false  // If true, also generate a universal APK
142
+            include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
143
+        }
144
+    }
145
+    signingConfigs {
146
+        debug {
147
+            storeFile file('debug.keystore')
148
+            storePassword 'android'
149
+            keyAlias 'androiddebugkey'
150
+            keyPassword 'android'
151
+        }
152
+    }
153
+    buildTypes {
154
+        debug {
155
+            signingConfig signingConfigs.debug
156
+        }
157
+        release {
158
+            // Caution! In production, you need to generate your own keystore file.
159
+            // see https://facebook.github.io/react-native/docs/signed-apk-android.
160
+            signingConfig signingConfigs.debug
161
+            minifyEnabled enableProguardInReleaseBuilds
162
+            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
163
+        }
164
+    }
165
+    // applicationVariants are e.g. debug, release
166
+    applicationVariants.all { variant ->
167
+        variant.outputs.each { output ->
168
+            // For each separate APK per architecture, set a unique version code as described here:
169
+            // https://developer.android.com/studio/build/configure-apk-splits.html
170
+            def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
171
+            def abi = output.getFilter(OutputFile.ABI)
172
+            if (abi != null) {  // null for the universal-debug, universal-release variants
173
+                output.versionCodeOverride =
174
+                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
175
+            }
176
+
177
+        }
178
+    }
179
+}
180
+
181
+dependencies {
182
+    implementation fileTree(dir: "libs", include: ["*.jar"])
183
+    implementation "com.facebook.react:react-native:+"  // From node_modules
184
+
185
+    if (enableHermes) {
186
+        def hermesPath = "../../node_modules/hermes-engine/android/";
187
+        debugImplementation files(hermesPath + "hermes-debug.aar")
188
+        releaseImplementation files(hermesPath + "hermes-release.aar")
189
+    } else {
190
+        implementation jscFlavor
191
+    }
192
+}
193
+
194
+// Run this once to be able to run the application with BUCK
195
+// puts all compile dependencies into folder libs for BUCK to use
196
+task copyDownloadableDepsToLibs(type: Copy) {
197
+    from configurations.compile
198
+    into 'libs'
199
+}
200
+
201
+apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)

+ 19
- 0
example/android/app/build_defs.bzl 파일 보기

@@ -0,0 +1,19 @@
1
+"""Helper definitions to glob .aar and .jar targets"""
2
+
3
+def create_aar_targets(aarfiles):
4
+    for aarfile in aarfiles:
5
+        name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
6
+        lib_deps.append(":" + name)
7
+        android_prebuilt_aar(
8
+            name = name,
9
+            aar = aarfile,
10
+        )
11
+
12
+def create_jar_targets(jarfiles):
13
+    for jarfile in jarfiles:
14
+        name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
15
+        lib_deps.append(":" + name)
16
+        prebuilt_jar(
17
+            name = name,
18
+            binary_jar = jarfile,
19
+        )

BIN
example/android/app/debug.keystore 파일 보기


+ 10
- 0
example/android/app/proguard-rules.pro 파일 보기

@@ -0,0 +1,10 @@
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:

+ 8
- 0
example/android/app/src/debug/AndroidManifest.xml 파일 보기

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="utf-8"?>
2
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+    xmlns:tools="http://schemas.android.com/tools">
4
+
5
+    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
6
+
7
+    <application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" />
8
+</manifest>

+ 26
- 0
example/android/app/src/main/AndroidManifest.xml 파일 보기

@@ -0,0 +1,26 @@
1
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
+  package="com.example">
3
+
4
+    <uses-permission android:name="android.permission.INTERNET" />
5
+
6
+    <application
7
+      android:name=".MainApplication"
8
+      android:label="@string/app_name"
9
+      android:icon="@mipmap/ic_launcher"
10
+      android:roundIcon="@mipmap/ic_launcher_round"
11
+      android:allowBackup="false"
12
+      android:theme="@style/AppTheme">
13
+      <activity
14
+        android:name=".MainActivity"
15
+        android:label="@string/app_name"
16
+        android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
17
+        android:windowSoftInputMode="adjustResize">
18
+        <intent-filter>
19
+            <action android:name="android.intent.action.MAIN" />
20
+            <category android:name="android.intent.category.LAUNCHER" />
21
+        </intent-filter>
22
+      </activity>
23
+      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
24
+    </application>
25
+
26
+</manifest>

+ 15
- 0
example/android/app/src/main/java/com/example/MainActivity.java 파일 보기

@@ -0,0 +1,15 @@
1
+package com.example;
2
+
3
+import com.facebook.react.ReactActivity;
4
+
5
+public class MainActivity extends ReactActivity {
6
+
7
+  /**
8
+   * Returns the name of the main component registered from JavaScript. This is used to schedule
9
+   * rendering of the component.
10
+   */
11
+  @Override
12
+  protected String getMainComponentName() {
13
+    return "example";
14
+  }
15
+}

+ 74
- 0
example/android/app/src/main/java/com/example/MainApplication.java 파일 보기

@@ -0,0 +1,74 @@
1
+package com.example;
2
+
3
+import android.app.Application;
4
+import android.content.Context;
5
+import com.facebook.react.PackageList;
6
+import com.facebook.react.ReactApplication;
7
+import com.facebook.react.ReactNativeHost;
8
+import com.facebook.react.ReactPackage;
9
+import com.facebook.soloader.SoLoader;
10
+import java.lang.reflect.InvocationTargetException;
11
+import java.util.List;
12
+
13
+public class MainApplication extends Application implements ReactApplication {
14
+
15
+  private final ReactNativeHost mReactNativeHost =
16
+      new ReactNativeHost(this) {
17
+        @Override
18
+        public boolean getUseDeveloperSupport() {
19
+          return BuildConfig.DEBUG;
20
+        }
21
+
22
+        @Override
23
+        protected List<ReactPackage> getPackages() {
24
+          @SuppressWarnings("UnnecessaryLocalVariable")
25
+          List<ReactPackage> packages = new PackageList(this).getPackages();
26
+          // Packages that cannot be autolinked yet can be added manually here, for example:
27
+          // packages.add(new MyReactNativePackage());
28
+          return packages;
29
+        }
30
+
31
+        @Override
32
+        protected String getJSMainModuleName() {
33
+          return "index";
34
+        }
35
+      };
36
+
37
+  @Override
38
+  public ReactNativeHost getReactNativeHost() {
39
+    return mReactNativeHost;
40
+  }
41
+
42
+  @Override
43
+  public void onCreate() {
44
+    super.onCreate();
45
+    SoLoader.init(this, /* native exopackage */ false);
46
+    initializeFlipper(this); // Remove this line if you don't want Flipper enabled
47
+  }
48
+
49
+  /**
50
+   * Loads Flipper in React Native templates.
51
+   *
52
+   * @param context
53
+   */
54
+  private static void initializeFlipper(Context context) {
55
+    if (BuildConfig.DEBUG) {
56
+      try {
57
+        /*
58
+         We use reflection here to pick up the class that initializes Flipper,
59
+        since Flipper library is not available in release mode
60
+        */
61
+        Class<?> aClass = Class.forName("com.facebook.flipper.ReactNativeFlipper");
62
+        aClass.getMethod("initializeFlipper", Context.class).invoke(null, context);
63
+      } catch (ClassNotFoundException e) {
64
+        e.printStackTrace();
65
+      } catch (NoSuchMethodException e) {
66
+        e.printStackTrace();
67
+      } catch (IllegalAccessException e) {
68
+        e.printStackTrace();
69
+      } catch (InvocationTargetException e) {
70
+        e.printStackTrace();
71
+      }
72
+    }
73
+  }
74
+}

BIN
example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png 파일 보기


BIN
example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png 파일 보기


BIN
example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png 파일 보기


BIN
example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png 파일 보기


BIN
example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png 파일 보기


BIN
example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png 파일 보기


BIN
example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png 파일 보기


BIN
example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png 파일 보기


BIN
example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png 파일 보기


BIN
example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png 파일 보기


+ 3
- 0
example/android/app/src/main/res/values/strings.xml 파일 보기

@@ -0,0 +1,3 @@
1
+<resources>
2
+    <string name="app_name">example</string>
3
+</resources>

+ 9
- 0
example/android/app/src/main/res/values/styles.xml 파일 보기

@@ -0,0 +1,9 @@
1
+<resources>
2
+
3
+    <!-- Base application theme. -->
4
+    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
5
+        <!-- Customize your theme here. -->
6
+        <item name="android:textColor">#000000</item>
7
+    </style>
8
+
9
+</resources>

+ 38
- 0
example/android/build.gradle 파일 보기

@@ -0,0 +1,38 @@
1
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
2
+
3
+buildscript {
4
+    ext {
5
+        buildToolsVersion = "28.0.3"
6
+        minSdkVersion = 16
7
+        compileSdkVersion = 28
8
+        targetSdkVersion = 28
9
+    }
10
+    repositories {
11
+        google()
12
+        jcenter()
13
+    }
14
+    dependencies {
15
+        classpath("com.android.tools.build:gradle:3.4.2")
16
+
17
+        // NOTE: Do not place your application dependencies here; they belong
18
+        // in the individual module build.gradle files
19
+    }
20
+}
21
+
22
+allprojects {
23
+    repositories {
24
+        mavenLocal()
25
+        maven {
26
+            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
27
+            url("$rootDir/../node_modules/react-native/android")
28
+        }
29
+        maven {
30
+            // Android JSC is installed from npm
31
+            url("$rootDir/../node_modules/jsc-android/dist")
32
+        }
33
+
34
+        google()
35
+        jcenter()
36
+        maven { url 'https://jitpack.io' }
37
+    }
38
+}

+ 21
- 0
example/android/gradle.properties 파일 보기

@@ -0,0 +1,21 @@
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: -Xmx10248m -XX:MaxPermSize=256m
13
+# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
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
+android.useAndroidX=true
21
+android.enableJetifier=true

BIN
example/android/gradle/wrapper/gradle-wrapper.jar 파일 보기


+ 5
- 0
example/android/gradle/wrapper/gradle-wrapper.properties 파일 보기

@@ -0,0 +1,5 @@
1
+distributionBase=GRADLE_USER_HOME
2
+distributionPath=wrapper/dists
3
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip
4
+zipStoreBase=GRADLE_USER_HOME
5
+zipStorePath=wrapper/dists

+ 188
- 0
example/android/gradlew 파일 보기

@@ -0,0 +1,188 @@
1
+#!/usr/bin/env sh
2
+
3
+#
4
+# Copyright 2015 the original author or 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
+#      http://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 UN*X
22
+##
23
+##############################################################################
24
+
25
+# Attempt to set APP_HOME
26
+# Resolve links: $0 may be a link
27
+PRG="$0"
28
+# Need this for relative symlinks.
29
+while [ -h "$PRG" ] ; do
30
+    ls=`ls -ld "$PRG"`
31
+    link=`expr "$ls" : '.*-> \(.*\)$'`
32
+    if expr "$link" : '/.*' > /dev/null; then
33
+        PRG="$link"
34
+    else
35
+        PRG=`dirname "$PRG"`"/$link"
36
+    fi
37
+done
38
+SAVED="`pwd`"
39
+cd "`dirname \"$PRG\"`/" >/dev/null
40
+APP_HOME="`pwd -P`"
41
+cd "$SAVED" >/dev/null
42
+
43
+APP_NAME="Gradle"
44
+APP_BASE_NAME=`basename "$0"`
45
+
46
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48
+
49
+# Use the maximum available, or set MAX_FD != -1 to use that value.
50
+MAX_FD="maximum"
51
+
52
+warn () {
53
+    echo "$*"
54
+}
55
+
56
+die () {
57
+    echo
58
+    echo "$*"
59
+    echo
60
+    exit 1
61
+}
62
+
63
+# OS specific support (must be 'true' or 'false').
64
+cygwin=false
65
+msys=false
66
+darwin=false
67
+nonstop=false
68
+case "`uname`" in
69
+  CYGWIN* )
70
+    cygwin=true
71
+    ;;
72
+  Darwin* )
73
+    darwin=true
74
+    ;;
75
+  MINGW* )
76
+    msys=true
77
+    ;;
78
+  NONSTOP* )
79
+    nonstop=true
80
+    ;;
81
+esac
82
+
83
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84
+
85
+# Determine the Java command to use to start the JVM.
86
+if [ -n "$JAVA_HOME" ] ; then
87
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
88
+        # IBM's JDK on AIX uses strange locations for the executables
89
+        JAVACMD="$JAVA_HOME/jre/sh/java"
90
+    else
91
+        JAVACMD="$JAVA_HOME/bin/java"
92
+    fi
93
+    if [ ! -x "$JAVACMD" ] ; then
94
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
95
+
96
+Please set the JAVA_HOME variable in your environment to match the
97
+location of your Java installation."
98
+    fi
99
+else
100
+    JAVACMD="java"
101
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
102
+
103
+Please set the JAVA_HOME variable in your environment to match the
104
+location of your Java installation."
105
+fi
106
+
107
+# Increase the maximum file descriptors if we can.
108
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
109
+    MAX_FD_LIMIT=`ulimit -H -n`
110
+    if [ $? -eq 0 ] ; then
111
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
112
+            MAX_FD="$MAX_FD_LIMIT"
113
+        fi
114
+        ulimit -n $MAX_FD
115
+        if [ $? -ne 0 ] ; then
116
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
117
+        fi
118
+    else
119
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
120
+    fi
121
+fi
122
+
123
+# For Darwin, add options to specify how the application appears in the dock
124
+if $darwin; then
125
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
126
+fi
127
+
128
+# For Cygwin, switch paths to Windows format before running java
129
+if $cygwin ; then
130
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
131
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
132
+    JAVACMD=`cygpath --unix "$JAVACMD"`
133
+
134
+    # We build the pattern for arguments to be converted via cygpath
135
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
136
+    SEP=""
137
+    for dir in $ROOTDIRSRAW ; do
138
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
139
+        SEP="|"
140
+    done
141
+    OURCYGPATTERN="(^($ROOTDIRS))"
142
+    # Add a user-defined pattern to the cygpath arguments
143
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
144
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
145
+    fi
146
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
147
+    i=0
148
+    for arg in "$@" ; do
149
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
150
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
151
+
152
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
153
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
154
+        else
155
+            eval `echo args$i`="\"$arg\""
156
+        fi
157
+        i=$((i+1))
158
+    done
159
+    case $i in
160
+        (0) set -- ;;
161
+        (1) set -- "$args0" ;;
162
+        (2) set -- "$args0" "$args1" ;;
163
+        (3) set -- "$args0" "$args1" "$args2" ;;
164
+        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
165
+        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
166
+        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
167
+        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
168
+        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
169
+        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
170
+    esac
171
+fi
172
+
173
+# Escape application args
174
+save () {
175
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
176
+    echo " "
177
+}
178
+APP_ARGS=$(save "$@")
179
+
180
+# Collect all arguments for the java command, following the shell quoting and substitution rules
181
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
182
+
183
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
184
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
185
+  cd "$(dirname "$0")"
186
+fi
187
+
188
+exec "$JAVACMD" "$@"

+ 100
- 0
example/android/gradlew.bat 파일 보기

@@ -0,0 +1,100 @@
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      http://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
+set APP_BASE_NAME=%~n0
30
+set APP_HOME=%DIRNAME%
31
+
32
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
33
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
34
+
35
+@rem Find java.exe
36
+if defined JAVA_HOME goto findJavaFromJavaHome
37
+
38
+set JAVA_EXE=java.exe
39
+%JAVA_EXE% -version >NUL 2>&1
40
+if "%ERRORLEVEL%" == "0" goto init
41
+
42
+echo.
43
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
44
+echo.
45
+echo Please set the JAVA_HOME variable in your environment to match the
46
+echo location of your Java installation.
47
+
48
+goto fail
49
+
50
+:findJavaFromJavaHome
51
+set JAVA_HOME=%JAVA_HOME:"=%
52
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
53
+
54
+if exist "%JAVA_EXE%" goto init
55
+
56
+echo.
57
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
58
+echo.
59
+echo Please set the JAVA_HOME variable in your environment to match the
60
+echo location of your Java installation.
61
+
62
+goto fail
63
+
64
+:init
65
+@rem Get command-line arguments, handling Windows variants
66
+
67
+if not "%OS%" == "Windows_NT" goto win9xME_args
68
+
69
+:win9xME_args
70
+@rem Slurp the command line arguments.
71
+set CMD_LINE_ARGS=
72
+set _SKIP=2
73
+
74
+:win9xME_args_slurp
75
+if "x%~1" == "x" goto execute
76
+
77
+set CMD_LINE_ARGS=%*
78
+
79
+:execute
80
+@rem Setup the command line
81
+
82
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
83
+
84
+@rem Execute Gradle
85
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
86
+
87
+:end
88
+@rem End local scope for the variables with windows NT shell
89
+if "%ERRORLEVEL%"=="0" goto mainEnd
90
+
91
+:fail
92
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
93
+rem the _cmd.exe /c_ return code!
94
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
95
+exit /b 1
96
+
97
+:mainEnd
98
+if "%OS%"=="Windows_NT" endlocal
99
+
100
+:omega

+ 3
- 0
example/android/settings.gradle 파일 보기

@@ -0,0 +1,3 @@
1
+rootProject.name = 'example'
2
+apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
3
+include ':app'

+ 4
- 0
example/app.json 파일 보기

@@ -0,0 +1,4 @@
1
+{
2
+  "name": "example",
3
+  "displayName": "example"
4
+}

+ 3
- 0
example/babel.config.js 파일 보기

@@ -0,0 +1,3 @@
1
+module.exports = {
2
+  presets: ['module:metro-react-native-babel-preset'],
3
+};

+ 9
- 0
example/index.js 파일 보기

@@ -0,0 +1,9 @@
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);

+ 53
- 0
example/ios/Podfile 파일 보기

@@ -0,0 +1,53 @@
1
+platform :ios, '9.0'
2
+require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
3
+
4
+target 'example' do
5
+  # Pods for example
6
+  pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector"
7
+  pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec"
8
+  pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired"
9
+  pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety"
10
+  pod 'React', :path => '../node_modules/react-native/'
11
+  pod 'React-Core', :path => '../node_modules/react-native/'
12
+  pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules'
13
+  pod 'React-Core/DevSupport', :path => '../node_modules/react-native/'
14
+  pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS'
15
+  pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation'
16
+  pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob'
17
+  pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image'
18
+  pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS'
19
+  pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network'
20
+  pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings'
21
+  pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text'
22
+  pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration'
23
+  pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/'
24
+
25
+  pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact'
26
+  pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi'
27
+  pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor'
28
+  pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector'
29
+  pod 'ReactCommon/jscallinvoker', :path => "../node_modules/react-native/ReactCommon"
30
+  pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon"
31
+  pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
32
+
33
+  pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
34
+  pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec'
35
+  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'
36
+
37
+  target 'exampleTests' do
38
+    inherit! :search_paths
39
+    # Pods for testing
40
+  end
41
+
42
+  use_native_modules!
43
+end
44
+
45
+target 'example-tvOS' do
46
+  # Pods for example-tvOS
47
+
48
+  target 'example-tvOSTests' do
49
+    inherit! :search_paths
50
+    # Pods for testing
51
+  end
52
+
53
+end

+ 344
- 0
example/ios/Podfile.lock 파일 보기

@@ -0,0 +1,344 @@
1
+PODS:
2
+  - boost-for-react-native (1.63.0)
3
+  - DoubleConversion (1.1.6)
4
+  - FBLazyVector (0.61.5)
5
+  - FBReactNativeSpec (0.61.5):
6
+    - Folly (= 2018.10.22.00)
7
+    - RCTRequired (= 0.61.5)
8
+    - RCTTypeSafety (= 0.61.5)
9
+    - React-Core (= 0.61.5)
10
+    - React-jsi (= 0.61.5)
11
+    - ReactCommon/turbomodule/core (= 0.61.5)
12
+  - Folly (2018.10.22.00):
13
+    - boost-for-react-native
14
+    - DoubleConversion
15
+    - Folly/Default (= 2018.10.22.00)
16
+    - glog
17
+  - Folly/Default (2018.10.22.00):
18
+    - boost-for-react-native
19
+    - DoubleConversion
20
+    - glog
21
+  - glog (0.3.5)
22
+  - RCTRequired (0.61.5)
23
+  - RCTTypeSafety (0.61.5):
24
+    - FBLazyVector (= 0.61.5)
25
+    - Folly (= 2018.10.22.00)
26
+    - RCTRequired (= 0.61.5)
27
+    - React-Core (= 0.61.5)
28
+  - React (0.61.5):
29
+    - React-Core (= 0.61.5)
30
+    - React-Core/DevSupport (= 0.61.5)
31
+    - React-Core/RCTWebSocket (= 0.61.5)
32
+    - React-RCTActionSheet (= 0.61.5)
33
+    - React-RCTAnimation (= 0.61.5)
34
+    - React-RCTBlob (= 0.61.5)
35
+    - React-RCTImage (= 0.61.5)
36
+    - React-RCTLinking (= 0.61.5)
37
+    - React-RCTNetwork (= 0.61.5)
38
+    - React-RCTSettings (= 0.61.5)
39
+    - React-RCTText (= 0.61.5)
40
+    - React-RCTVibration (= 0.61.5)
41
+  - React-Core (0.61.5):
42
+    - Folly (= 2018.10.22.00)
43
+    - glog
44
+    - React-Core/Default (= 0.61.5)
45
+    - React-cxxreact (= 0.61.5)
46
+    - React-jsi (= 0.61.5)
47
+    - React-jsiexecutor (= 0.61.5)
48
+    - Yoga
49
+  - React-Core/CoreModulesHeaders (0.61.5):
50
+    - Folly (= 2018.10.22.00)
51
+    - glog
52
+    - React-Core/Default
53
+    - React-cxxreact (= 0.61.5)
54
+    - React-jsi (= 0.61.5)
55
+    - React-jsiexecutor (= 0.61.5)
56
+    - Yoga
57
+  - React-Core/Default (0.61.5):
58
+    - Folly (= 2018.10.22.00)
59
+    - glog
60
+    - React-cxxreact (= 0.61.5)
61
+    - React-jsi (= 0.61.5)
62
+    - React-jsiexecutor (= 0.61.5)
63
+    - Yoga
64
+  - React-Core/DevSupport (0.61.5):
65
+    - Folly (= 2018.10.22.00)
66
+    - glog
67
+    - React-Core/Default (= 0.61.5)
68
+    - React-Core/RCTWebSocket (= 0.61.5)
69
+    - React-cxxreact (= 0.61.5)
70
+    - React-jsi (= 0.61.5)
71
+    - React-jsiexecutor (= 0.61.5)
72
+    - React-jsinspector (= 0.61.5)
73
+    - Yoga
74
+  - React-Core/RCTActionSheetHeaders (0.61.5):
75
+    - Folly (= 2018.10.22.00)
76
+    - glog
77
+    - React-Core/Default
78
+    - React-cxxreact (= 0.61.5)
79
+    - React-jsi (= 0.61.5)
80
+    - React-jsiexecutor (= 0.61.5)
81
+    - Yoga
82
+  - React-Core/RCTAnimationHeaders (0.61.5):
83
+    - Folly (= 2018.10.22.00)
84
+    - glog
85
+    - React-Core/Default
86
+    - React-cxxreact (= 0.61.5)
87
+    - React-jsi (= 0.61.5)
88
+    - React-jsiexecutor (= 0.61.5)
89
+    - Yoga
90
+  - React-Core/RCTBlobHeaders (0.61.5):
91
+    - Folly (= 2018.10.22.00)
92
+    - glog
93
+    - React-Core/Default
94
+    - React-cxxreact (= 0.61.5)
95
+    - React-jsi (= 0.61.5)
96
+    - React-jsiexecutor (= 0.61.5)
97
+    - Yoga
98
+  - React-Core/RCTImageHeaders (0.61.5):
99
+    - Folly (= 2018.10.22.00)
100
+    - glog
101
+    - React-Core/Default
102
+    - React-cxxreact (= 0.61.5)
103
+    - React-jsi (= 0.61.5)
104
+    - React-jsiexecutor (= 0.61.5)
105
+    - Yoga
106
+  - React-Core/RCTLinkingHeaders (0.61.5):
107
+    - Folly (= 2018.10.22.00)
108
+    - glog
109
+    - React-Core/Default
110
+    - React-cxxreact (= 0.61.5)
111
+    - React-jsi (= 0.61.5)
112
+    - React-jsiexecutor (= 0.61.5)
113
+    - Yoga
114
+  - React-Core/RCTNetworkHeaders (0.61.5):
115
+    - Folly (= 2018.10.22.00)
116
+    - glog
117
+    - React-Core/Default
118
+    - React-cxxreact (= 0.61.5)
119
+    - React-jsi (= 0.61.5)
120
+    - React-jsiexecutor (= 0.61.5)
121
+    - Yoga
122
+  - React-Core/RCTSettingsHeaders (0.61.5):
123
+    - Folly (= 2018.10.22.00)
124
+    - glog
125
+    - React-Core/Default
126
+    - React-cxxreact (= 0.61.5)
127
+    - React-jsi (= 0.61.5)
128
+    - React-jsiexecutor (= 0.61.5)
129
+    - Yoga
130
+  - React-Core/RCTTextHeaders (0.61.5):
131
+    - Folly (= 2018.10.22.00)
132
+    - glog
133
+    - React-Core/Default
134
+    - React-cxxreact (= 0.61.5)
135
+    - React-jsi (= 0.61.5)
136
+    - React-jsiexecutor (= 0.61.5)
137
+    - Yoga
138
+  - React-Core/RCTVibrationHeaders (0.61.5):
139
+    - Folly (= 2018.10.22.00)
140
+    - glog
141
+    - React-Core/Default
142
+    - React-cxxreact (= 0.61.5)
143
+    - React-jsi (= 0.61.5)
144
+    - React-jsiexecutor (= 0.61.5)
145
+    - Yoga
146
+  - React-Core/RCTWebSocket (0.61.5):
147
+    - Folly (= 2018.10.22.00)
148
+    - glog
149
+    - React-Core/Default (= 0.61.5)
150
+    - React-cxxreact (= 0.61.5)
151
+    - React-jsi (= 0.61.5)
152
+    - React-jsiexecutor (= 0.61.5)
153
+    - Yoga
154
+  - React-CoreModules (0.61.5):
155
+    - FBReactNativeSpec (= 0.61.5)
156
+    - Folly (= 2018.10.22.00)
157
+    - RCTTypeSafety (= 0.61.5)
158
+    - React-Core/CoreModulesHeaders (= 0.61.5)
159
+    - React-RCTImage (= 0.61.5)
160
+    - ReactCommon/turbomodule/core (= 0.61.5)
161
+  - React-cxxreact (0.61.5):
162
+    - boost-for-react-native (= 1.63.0)
163
+    - DoubleConversion
164
+    - Folly (= 2018.10.22.00)
165
+    - glog
166
+    - React-jsinspector (= 0.61.5)
167
+  - React-jsi (0.61.5):
168
+    - boost-for-react-native (= 1.63.0)
169
+    - DoubleConversion
170
+    - Folly (= 2018.10.22.00)
171
+    - glog
172
+    - React-jsi/Default (= 0.61.5)
173
+  - React-jsi/Default (0.61.5):
174
+    - boost-for-react-native (= 1.63.0)
175
+    - DoubleConversion
176
+    - Folly (= 2018.10.22.00)
177
+    - glog
178
+  - React-jsiexecutor (0.61.5):
179
+    - DoubleConversion
180
+    - Folly (= 2018.10.22.00)
181
+    - glog
182
+    - React-cxxreact (= 0.61.5)
183
+    - React-jsi (= 0.61.5)
184
+  - React-jsinspector (0.61.5)
185
+  - react-native-webview (8.0.2):
186
+    - React
187
+  - React-RCTActionSheet (0.61.5):
188
+    - React-Core/RCTActionSheetHeaders (= 0.61.5)
189
+  - React-RCTAnimation (0.61.5):
190
+    - React-Core/RCTAnimationHeaders (= 0.61.5)
191
+  - React-RCTBlob (0.61.5):
192
+    - React-Core/RCTBlobHeaders (= 0.61.5)
193
+    - React-Core/RCTWebSocket (= 0.61.5)
194
+    - React-jsi (= 0.61.5)
195
+    - React-RCTNetwork (= 0.61.5)
196
+  - React-RCTImage (0.61.5):
197
+    - React-Core/RCTImageHeaders (= 0.61.5)
198
+    - React-RCTNetwork (= 0.61.5)
199
+  - React-RCTLinking (0.61.5):
200
+    - React-Core/RCTLinkingHeaders (= 0.61.5)
201
+  - React-RCTNetwork (0.61.5):
202
+    - React-Core/RCTNetworkHeaders (= 0.61.5)
203
+  - React-RCTSettings (0.61.5):
204
+    - React-Core/RCTSettingsHeaders (= 0.61.5)
205
+  - React-RCTText (0.61.5):
206
+    - React-Core/RCTTextHeaders (= 0.61.5)
207
+  - React-RCTVibration (0.61.5):
208
+    - React-Core/RCTVibrationHeaders (= 0.61.5)
209
+  - ReactCommon/jscallinvoker (0.61.5):
210
+    - DoubleConversion
211
+    - Folly (= 2018.10.22.00)
212
+    - glog
213
+    - React-cxxreact (= 0.61.5)
214
+  - ReactCommon/turbomodule/core (0.61.5):
215
+    - DoubleConversion
216
+    - Folly (= 2018.10.22.00)
217
+    - glog
218
+    - React-Core (= 0.61.5)
219
+    - React-cxxreact (= 0.61.5)
220
+    - React-jsi (= 0.61.5)
221
+    - ReactCommon/jscallinvoker (= 0.61.5)
222
+  - Yoga (1.14.0)
223
+
224
+DEPENDENCIES:
225
+  - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
226
+  - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
227
+  - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
228
+  - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
229
+  - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
230
+  - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
231
+  - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
232
+  - React (from `../node_modules/react-native/`)
233
+  - React-Core (from `../node_modules/react-native/`)
234
+  - React-Core/DevSupport (from `../node_modules/react-native/`)
235
+  - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
236
+  - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
237
+  - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
238
+  - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
239
+  - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
240
+  - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
241
+  - react-native-webview (from `../node_modules/react-native-webview`)
242
+  - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
243
+  - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
244
+  - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
245
+  - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
246
+  - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
247
+  - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
248
+  - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
249
+  - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
250
+  - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
251
+  - ReactCommon/jscallinvoker (from `../node_modules/react-native/ReactCommon`)
252
+  - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
253
+  - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
254
+
255
+SPEC REPOS:
256
+  trunk:
257
+    - boost-for-react-native
258
+
259
+EXTERNAL SOURCES:
260
+  DoubleConversion:
261
+    :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
262
+  FBLazyVector:
263
+    :path: "../node_modules/react-native/Libraries/FBLazyVector"
264
+  FBReactNativeSpec:
265
+    :path: "../node_modules/react-native/Libraries/FBReactNativeSpec"
266
+  Folly:
267
+    :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
268
+  glog:
269
+    :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
270
+  RCTRequired:
271
+    :path: "../node_modules/react-native/Libraries/RCTRequired"
272
+  RCTTypeSafety:
273
+    :path: "../node_modules/react-native/Libraries/TypeSafety"
274
+  React:
275
+    :path: "../node_modules/react-native/"
276
+  React-Core:
277
+    :path: "../node_modules/react-native/"
278
+  React-CoreModules:
279
+    :path: "../node_modules/react-native/React/CoreModules"
280
+  React-cxxreact:
281
+    :path: "../node_modules/react-native/ReactCommon/cxxreact"
282
+  React-jsi:
283
+    :path: "../node_modules/react-native/ReactCommon/jsi"
284
+  React-jsiexecutor:
285
+    :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
286
+  React-jsinspector:
287
+    :path: "../node_modules/react-native/ReactCommon/jsinspector"
288
+  react-native-webview:
289
+    :path: "../node_modules/react-native-webview"
290
+  React-RCTActionSheet:
291
+    :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
292
+  React-RCTAnimation:
293
+    :path: "../node_modules/react-native/Libraries/NativeAnimation"
294
+  React-RCTBlob:
295
+    :path: "../node_modules/react-native/Libraries/Blob"
296
+  React-RCTImage:
297
+    :path: "../node_modules/react-native/Libraries/Image"
298
+  React-RCTLinking:
299
+    :path: "../node_modules/react-native/Libraries/LinkingIOS"
300
+  React-RCTNetwork:
301
+    :path: "../node_modules/react-native/Libraries/Network"
302
+  React-RCTSettings:
303
+    :path: "../node_modules/react-native/Libraries/Settings"
304
+  React-RCTText:
305
+    :path: "../node_modules/react-native/Libraries/Text"
306
+  React-RCTVibration:
307
+    :path: "../node_modules/react-native/Libraries/Vibration"
308
+  ReactCommon:
309
+    :path: "../node_modules/react-native/ReactCommon"
310
+  Yoga:
311
+    :path: "../node_modules/react-native/ReactCommon/yoga"
312
+
313
+SPEC CHECKSUMS:
314
+  boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
315
+  DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
316
+  FBLazyVector: aaeaf388755e4f29cd74acbc9e3b8da6d807c37f
317
+  FBReactNativeSpec: 118d0d177724c2d67f08a59136eb29ef5943ec75
318
+  Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
319
+  glog: 1f3da668190260b06b429bb211bfbee5cd790c28
320
+  RCTRequired: b153add4da6e7dbc44aebf93f3cf4fcae392ddf1
321
+  RCTTypeSafety: 9aa1b91d7f9310fc6eadc3cf95126ffe818af320
322
+  React: b6a59ef847b2b40bb6e0180a97d0ca716969ac78
323
+  React-Core: 688b451f7d616cc1134ac95295b593d1b5158a04
324
+  React-CoreModules: d04f8494c1a328b69ec11db9d1137d667f916dcb
325
+  React-cxxreact: d0f7bcafa196ae410e5300736b424455e7fb7ba7
326
+  React-jsi: cb2cd74d7ccf4cffb071a46833613edc79cdf8f7
327
+  React-jsiexecutor: d5525f9ed5f782fdbacb64b9b01a43a9323d2386
328
+  React-jsinspector: fa0ecc501688c3c4c34f28834a76302233e29dc0
329
+  react-native-webview: 99bdfd6c189772b0f15494f728430c23b18b93e4
330
+  React-RCTActionSheet: 600b4d10e3aea0913b5a92256d2719c0cdd26d76
331
+  React-RCTAnimation: 791a87558389c80908ed06cc5dfc5e7920dfa360
332
+  React-RCTBlob: d89293cc0236d9cb0933d85e430b0bbe81ad1d72
333
+  React-RCTImage: 6b8e8df449eb7c814c99a92d6b52de6fe39dea4e
334
+  React-RCTLinking: 121bb231c7503cf9094f4d8461b96a130fabf4a5
335
+  React-RCTNetwork: fb353640aafcee84ca8b78957297bd395f065c9a
336
+  React-RCTSettings: 8db258ea2a5efee381fcf7a6d5044e2f8b68b640
337
+  React-RCTText: 9ccc88273e9a3aacff5094d2175a605efa854dbe
338
+  React-RCTVibration: a49a1f42bf8f5acf1c3e297097517c6b3af377ad
339
+  ReactCommon: 198c7c8d3591f975e5431bec1b0b3b581aa1c5dd
340
+  Yoga: f2a7cd4280bfe2cca5a7aed98ba0eb3d1310f18b
341
+
342
+PODFILE CHECKSUM: 79310af6b976c356911a8a833e9b99c3399fdda3
343
+
344
+COCOAPODS: 1.8.3

+ 53
- 0
example/ios/example-tvOS/Info.plist 파일 보기

@@ -0,0 +1,53 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>CFBundleDevelopmentRegion</key>
6
+	<string>en</string>
7
+	<key>CFBundleExecutable</key>
8
+	<string>$(EXECUTABLE_NAME)</string>
9
+	<key>CFBundleIdentifier</key>
10
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11
+	<key>CFBundleInfoDictionaryVersion</key>
12
+	<string>6.0</string>
13
+	<key>CFBundleName</key>
14
+	<string>$(PRODUCT_NAME)</string>
15
+	<key>CFBundlePackageType</key>
16
+	<string>APPL</string>
17
+	<key>CFBundleShortVersionString</key>
18
+	<string>1.0</string>
19
+	<key>CFBundleSignature</key>
20
+	<string>????</string>
21
+	<key>CFBundleVersion</key>
22
+	<string>1</string>
23
+	<key>LSRequiresIPhoneOS</key>
24
+	<true/>
25
+	<key>NSAppTransportSecurity</key>
26
+	<dict>
27
+		<key>NSExceptionDomains</key>
28
+		<dict>
29
+			<key>localhost</key>
30
+			<dict>
31
+				<key>NSExceptionAllowsInsecureHTTPLoads</key>
32
+				<true/>
33
+			</dict>
34
+		</dict>
35
+	</dict>
36
+	<key>NSLocationWhenInUseUsageDescription</key>
37
+	<string></string>
38
+	<key>UILaunchStoryboardName</key>
39
+	<string>LaunchScreen</string>
40
+	<key>UIRequiredDeviceCapabilities</key>
41
+	<array>
42
+		<string>armv7</string>
43
+	</array>
44
+	<key>UISupportedInterfaceOrientations</key>
45
+	<array>
46
+		<string>UIInterfaceOrientationPortrait</string>
47
+		<string>UIInterfaceOrientationLandscapeLeft</string>
48
+		<string>UIInterfaceOrientationLandscapeRight</string>
49
+	</array>
50
+	<key>UIViewControllerBasedStatusBarAppearance</key>
51
+	<false/>
52
+</dict>
53
+</plist>

+ 24
- 0
example/ios/example-tvOSTests/Info.plist 파일 보기

@@ -0,0 +1,24 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>CFBundleDevelopmentRegion</key>
6
+	<string>en</string>
7
+	<key>CFBundleExecutable</key>
8
+	<string>$(EXECUTABLE_NAME)</string>
9
+	<key>CFBundleIdentifier</key>
10
+	<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>
11
+	<key>CFBundleInfoDictionaryVersion</key>
12
+	<string>6.0</string>
13
+	<key>CFBundleName</key>
14
+	<string>$(PRODUCT_NAME)</string>
15
+	<key>CFBundlePackageType</key>
16
+	<string>BNDL</string>
17
+	<key>CFBundleShortVersionString</key>
18
+	<string>1.0</string>
19
+	<key>CFBundleSignature</key>
20
+	<string>????</string>
21
+	<key>CFBundleVersion</key>
22
+	<string>1</string>
23
+</dict>
24
+</plist>

+ 925
- 0
example/ios/example.xcodeproj/project.pbxproj 파일 보기

@@ -0,0 +1,925 @@
1
+// !$*UTF8*$!
2
+{
3
+	archiveVersion = 1;
4
+	classes = {
5
+	};
6
+	objectVersion = 46;
7
+	objects = {
8
+
9
+/* Begin PBXBuildFile section */
10
+		00E356F31AD99517003FC87E /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; };
11
+		13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
12
+		13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
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
+		2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
16
+		2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
17
+		2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
18
+		2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; };
19
+		A08B6FFAAF3CA0F03003FEB0 /* libPods-example-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5544B310E076E06B9E2EFF4C /* libPods-example-tvOSTests.a */; };
20
+		C7D826CF866C25BE421302B6 /* libPods-example-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F9A8A9F158876EC099CFA57A /* libPods-example-tvOS.a */; };
21
+		D0E3313DFCE78BFCB650F812 /* libPods-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CB301596D47BBAD9E9C0A45A /* libPods-exampleTests.a */; };
22
+		E719A6E171791CD8906B3D55 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 917A19FC1EBE6E8B85FE404D /* libPods-example.a */; };
23
+/* End PBXBuildFile section */
24
+
25
+/* Begin PBXContainerItemProxy section */
26
+		00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
27
+			isa = PBXContainerItemProxy;
28
+			containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
29
+			proxyType = 1;
30
+			remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
31
+			remoteInfo = example;
32
+		};
33
+		2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = {
34
+			isa = PBXContainerItemProxy;
35
+			containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
36
+			proxyType = 1;
37
+			remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7;
38
+			remoteInfo = "example-tvOS";
39
+		};
40
+/* End PBXContainerItemProxy section */
41
+
42
+/* Begin PBXFileReference section */
43
+		008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; };
44
+		00E356EE1AD99517003FC87E /* exampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = exampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
45
+		00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
46
+		00E356F21AD99517003FC87E /* exampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = exampleTests.m; sourceTree = "<group>"; };
47
+		13B07F961A680F5B00A75B9A /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; };
48
+		13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = example/AppDelegate.h; sourceTree = "<group>"; };
49
+		13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = example/AppDelegate.m; sourceTree = "<group>"; };
50
+		13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
51
+		13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = example/Images.xcassets; sourceTree = "<group>"; };
52
+		13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = example/Info.plist; sourceTree = "<group>"; };
53
+		13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = example/main.m; sourceTree = "<group>"; };
54
+		2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
55
+		2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "example-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
56
+		41B6A4553C4F552488B69B01 /* Pods-exampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exampleTests.release.xcconfig"; path = "Target Support Files/Pods-exampleTests/Pods-exampleTests.release.xcconfig"; sourceTree = "<group>"; };
57
+		4372A2FD2D749DE5C9FD8D3E /* Pods-example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.debug.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.debug.xcconfig"; sourceTree = "<group>"; };
58
+		4FDD34C422D711AC8A7B10A7 /* Pods-example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example.release.xcconfig"; path = "Target Support Files/Pods-example/Pods-example.release.xcconfig"; sourceTree = "<group>"; };
59
+		5544B310E076E06B9E2EFF4C /* libPods-example-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
60
+		59A4F27CAD1B7EFE80917453 /* Pods-example-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-example-tvOSTests/Pods-example-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
61
+		775F6B7492793F5DB7ECE95B /* Pods-example-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-example-tvOS/Pods-example-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
62
+		8A20011E75A0AD2EC5C6EAE9 /* Pods-exampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-exampleTests.debug.xcconfig"; path = "Target Support Files/Pods-exampleTests/Pods-exampleTests.debug.xcconfig"; sourceTree = "<group>"; };
63
+		917A19FC1EBE6E8B85FE404D /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
64
+		CB301596D47BBAD9E9C0A45A /* libPods-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
65
+		ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
66
+		ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
67
+		EDF80BE96CF92848F4E926EA /* Pods-example-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOS.release.xcconfig"; path = "Target Support Files/Pods-example-tvOS/Pods-example-tvOS.release.xcconfig"; sourceTree = "<group>"; };
68
+		F67BC8D73DE103BA10A5488D /* Pods-example-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-example-tvOSTests/Pods-example-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
69
+		F9A8A9F158876EC099CFA57A /* libPods-example-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
70
+/* End PBXFileReference section */
71
+
72
+/* Begin PBXFrameworksBuildPhase section */
73
+		00E356EB1AD99517003FC87E /* Frameworks */ = {
74
+			isa = PBXFrameworksBuildPhase;
75
+			buildActionMask = 2147483647;
76
+			files = (
77
+				D0E3313DFCE78BFCB650F812 /* libPods-exampleTests.a in Frameworks */,
78
+			);
79
+			runOnlyForDeploymentPostprocessing = 0;
80
+		};
81
+		13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
82
+			isa = PBXFrameworksBuildPhase;
83
+			buildActionMask = 2147483647;
84
+			files = (
85
+				E719A6E171791CD8906B3D55 /* libPods-example.a in Frameworks */,
86
+			);
87
+			runOnlyForDeploymentPostprocessing = 0;
88
+		};
89
+		2D02E4781E0B4A5D006451C7 /* Frameworks */ = {
90
+			isa = PBXFrameworksBuildPhase;
91
+			buildActionMask = 2147483647;
92
+			files = (
93
+				C7D826CF866C25BE421302B6 /* libPods-example-tvOS.a in Frameworks */,
94
+			);
95
+			runOnlyForDeploymentPostprocessing = 0;
96
+		};
97
+		2D02E48D1E0B4A5D006451C7 /* Frameworks */ = {
98
+			isa = PBXFrameworksBuildPhase;
99
+			buildActionMask = 2147483647;
100
+			files = (
101
+				A08B6FFAAF3CA0F03003FEB0 /* libPods-example-tvOSTests.a in Frameworks */,
102
+			);
103
+			runOnlyForDeploymentPostprocessing = 0;
104
+		};
105
+/* End PBXFrameworksBuildPhase section */
106
+
107
+/* Begin PBXGroup section */
108
+		00E356EF1AD99517003FC87E /* exampleTests */ = {
109
+			isa = PBXGroup;
110
+			children = (
111
+				00E356F21AD99517003FC87E /* exampleTests.m */,
112
+				00E356F01AD99517003FC87E /* Supporting Files */,
113
+			);
114
+			path = exampleTests;
115
+			sourceTree = "<group>";
116
+		};
117
+		00E356F01AD99517003FC87E /* Supporting Files */ = {
118
+			isa = PBXGroup;
119
+			children = (
120
+				00E356F11AD99517003FC87E /* Info.plist */,
121
+			);
122
+			name = "Supporting Files";
123
+			sourceTree = "<group>";
124
+		};
125
+		13B07FAE1A68108700A75B9A /* example */ = {
126
+			isa = PBXGroup;
127
+			children = (
128
+				008F07F21AC5B25A0029DE68 /* main.jsbundle */,
129
+				13B07FAF1A68108700A75B9A /* AppDelegate.h */,
130
+				13B07FB01A68108700A75B9A /* AppDelegate.m */,
131
+				13B07FB51A68108700A75B9A /* Images.xcassets */,
132
+				13B07FB61A68108700A75B9A /* Info.plist */,
133
+				13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
134
+				13B07FB71A68108700A75B9A /* main.m */,
135
+			);
136
+			name = example;
137
+			sourceTree = "<group>";
138
+		};
139
+		2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
140
+			isa = PBXGroup;
141
+			children = (
142
+				ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
143
+				ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
144
+				917A19FC1EBE6E8B85FE404D /* libPods-example.a */,
145
+				F9A8A9F158876EC099CFA57A /* libPods-example-tvOS.a */,
146
+				5544B310E076E06B9E2EFF4C /* libPods-example-tvOSTests.a */,
147
+				CB301596D47BBAD9E9C0A45A /* libPods-exampleTests.a */,
148
+			);
149
+			name = Frameworks;
150
+			sourceTree = "<group>";
151
+		};
152
+		832341AE1AAA6A7D00B99B32 /* Libraries */ = {
153
+			isa = PBXGroup;
154
+			children = (
155
+			);
156
+			name = Libraries;
157
+			sourceTree = "<group>";
158
+		};
159
+		83CBB9F61A601CBA00E9B192 = {
160
+			isa = PBXGroup;
161
+			children = (
162
+				13B07FAE1A68108700A75B9A /* example */,
163
+				832341AE1AAA6A7D00B99B32 /* Libraries */,
164
+				00E356EF1AD99517003FC87E /* exampleTests */,
165
+				83CBBA001A601CBA00E9B192 /* Products */,
166
+				2D16E6871FA4F8E400B85C8A /* Frameworks */,
167
+				CCBCEDC2885B5181A2E42CE7 /* Pods */,
168
+			);
169
+			indentWidth = 2;
170
+			sourceTree = "<group>";
171
+			tabWidth = 2;
172
+			usesTabs = 0;
173
+		};
174
+		83CBBA001A601CBA00E9B192 /* Products */ = {
175
+			isa = PBXGroup;
176
+			children = (
177
+				13B07F961A680F5B00A75B9A /* example.app */,
178
+				00E356EE1AD99517003FC87E /* exampleTests.xctest */,
179
+				2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */,
180
+				2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */,
181
+			);
182
+			name = Products;
183
+			sourceTree = "<group>";
184
+		};
185
+		CCBCEDC2885B5181A2E42CE7 /* Pods */ = {
186
+			isa = PBXGroup;
187
+			children = (
188
+				4372A2FD2D749DE5C9FD8D3E /* Pods-example.debug.xcconfig */,
189
+				4FDD34C422D711AC8A7B10A7 /* Pods-example.release.xcconfig */,
190
+				775F6B7492793F5DB7ECE95B /* Pods-example-tvOS.debug.xcconfig */,
191
+				EDF80BE96CF92848F4E926EA /* Pods-example-tvOS.release.xcconfig */,
192
+				F67BC8D73DE103BA10A5488D /* Pods-example-tvOSTests.debug.xcconfig */,
193
+				59A4F27CAD1B7EFE80917453 /* Pods-example-tvOSTests.release.xcconfig */,
194
+				8A20011E75A0AD2EC5C6EAE9 /* Pods-exampleTests.debug.xcconfig */,
195
+				41B6A4553C4F552488B69B01 /* Pods-exampleTests.release.xcconfig */,
196
+			);
197
+			path = Pods;
198
+			sourceTree = "<group>";
199
+		};
200
+/* End PBXGroup section */
201
+
202
+/* Begin PBXNativeTarget section */
203
+		00E356ED1AD99517003FC87E /* exampleTests */ = {
204
+			isa = PBXNativeTarget;
205
+			buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */;
206
+			buildPhases = (
207
+				A2264F1CFC0047F3C8C5D43D /* [CP] Check Pods Manifest.lock */,
208
+				00E356EA1AD99517003FC87E /* Sources */,
209
+				00E356EB1AD99517003FC87E /* Frameworks */,
210
+				00E356EC1AD99517003FC87E /* Resources */,
211
+			);
212
+			buildRules = (
213
+			);
214
+			dependencies = (
215
+				00E356F51AD99517003FC87E /* PBXTargetDependency */,
216
+			);
217
+			name = exampleTests;
218
+			productName = exampleTests;
219
+			productReference = 00E356EE1AD99517003FC87E /* exampleTests.xctest */;
220
+			productType = "com.apple.product-type.bundle.unit-test";
221
+		};
222
+		13B07F861A680F5B00A75B9A /* example */ = {
223
+			isa = PBXNativeTarget;
224
+			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */;
225
+			buildPhases = (
226
+				6D39E19069EEC1F18C65E89E /* [CP] Check Pods Manifest.lock */,
227
+				FD10A7F022414F080027D42C /* Start Packager */,
228
+				13B07F871A680F5B00A75B9A /* Sources */,
229
+				13B07F8C1A680F5B00A75B9A /* Frameworks */,
230
+				13B07F8E1A680F5B00A75B9A /* Resources */,
231
+				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
232
+			);
233
+			buildRules = (
234
+			);
235
+			dependencies = (
236
+			);
237
+			name = example;
238
+			productName = example;
239
+			productReference = 13B07F961A680F5B00A75B9A /* example.app */;
240
+			productType = "com.apple.product-type.application";
241
+		};
242
+		2D02E47A1E0B4A5D006451C7 /* example-tvOS */ = {
243
+			isa = PBXNativeTarget;
244
+			buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */;
245
+			buildPhases = (
246
+				B980633124DB020AB7EC55E3 /* [CP] Check Pods Manifest.lock */,
247
+				FD10A7F122414F3F0027D42C /* Start Packager */,
248
+				2D02E4771E0B4A5D006451C7 /* Sources */,
249
+				2D02E4781E0B4A5D006451C7 /* Frameworks */,
250
+				2D02E4791E0B4A5D006451C7 /* Resources */,
251
+				2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */,
252
+			);
253
+			buildRules = (
254
+			);
255
+			dependencies = (
256
+			);
257
+			name = "example-tvOS";
258
+			productName = "example-tvOS";
259
+			productReference = 2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */;
260
+			productType = "com.apple.product-type.application";
261
+		};
262
+		2D02E48F1E0B4A5D006451C7 /* example-tvOSTests */ = {
263
+			isa = PBXNativeTarget;
264
+			buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */;
265
+			buildPhases = (
266
+				56202D3091BCA37A2C594528 /* [CP] Check Pods Manifest.lock */,
267
+				2D02E48C1E0B4A5D006451C7 /* Sources */,
268
+				2D02E48D1E0B4A5D006451C7 /* Frameworks */,
269
+				2D02E48E1E0B4A5D006451C7 /* Resources */,
270
+			);
271
+			buildRules = (
272
+			);
273
+			dependencies = (
274
+				2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */,
275
+			);
276
+			name = "example-tvOSTests";
277
+			productName = "example-tvOSTests";
278
+			productReference = 2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */;
279
+			productType = "com.apple.product-type.bundle.unit-test";
280
+		};
281
+/* End PBXNativeTarget section */
282
+
283
+/* Begin PBXProject section */
284
+		83CBB9F71A601CBA00E9B192 /* Project object */ = {
285
+			isa = PBXProject;
286
+			attributes = {
287
+				LastUpgradeCheck = 0940;
288
+				ORGANIZATIONNAME = Facebook;
289
+				TargetAttributes = {
290
+					00E356ED1AD99517003FC87E = {
291
+						CreatedOnToolsVersion = 6.2;
292
+						TestTargetID = 13B07F861A680F5B00A75B9A;
293
+					};
294
+					2D02E47A1E0B4A5D006451C7 = {
295
+						CreatedOnToolsVersion = 8.2.1;
296
+						ProvisioningStyle = Automatic;
297
+					};
298
+					2D02E48F1E0B4A5D006451C7 = {
299
+						CreatedOnToolsVersion = 8.2.1;
300
+						ProvisioningStyle = Automatic;
301
+						TestTargetID = 2D02E47A1E0B4A5D006451C7;
302
+					};
303
+				};
304
+			};
305
+			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "example" */;
306
+			compatibilityVersion = "Xcode 3.2";
307
+			developmentRegion = English;
308
+			hasScannedForEncodings = 0;
309
+			knownRegions = (
310
+				English,
311
+				en,
312
+				Base,
313
+			);
314
+			mainGroup = 83CBB9F61A601CBA00E9B192;
315
+			productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
316
+			projectDirPath = "";
317
+			projectRoot = "";
318
+			targets = (
319
+				13B07F861A680F5B00A75B9A /* example */,
320
+				00E356ED1AD99517003FC87E /* exampleTests */,
321
+				2D02E47A1E0B4A5D006451C7 /* example-tvOS */,
322
+				2D02E48F1E0B4A5D006451C7 /* example-tvOSTests */,
323
+			);
324
+		};
325
+/* End PBXProject section */
326
+
327
+/* Begin PBXResourcesBuildPhase section */
328
+		00E356EC1AD99517003FC87E /* Resources */ = {
329
+			isa = PBXResourcesBuildPhase;
330
+			buildActionMask = 2147483647;
331
+			files = (
332
+			);
333
+			runOnlyForDeploymentPostprocessing = 0;
334
+		};
335
+		13B07F8E1A680F5B00A75B9A /* Resources */ = {
336
+			isa = PBXResourcesBuildPhase;
337
+			buildActionMask = 2147483647;
338
+			files = (
339
+				13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
340
+				13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
341
+			);
342
+			runOnlyForDeploymentPostprocessing = 0;
343
+		};
344
+		2D02E4791E0B4A5D006451C7 /* Resources */ = {
345
+			isa = PBXResourcesBuildPhase;
346
+			buildActionMask = 2147483647;
347
+			files = (
348
+				2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */,
349
+			);
350
+			runOnlyForDeploymentPostprocessing = 0;
351
+		};
352
+		2D02E48E1E0B4A5D006451C7 /* Resources */ = {
353
+			isa = PBXResourcesBuildPhase;
354
+			buildActionMask = 2147483647;
355
+			files = (
356
+			);
357
+			runOnlyForDeploymentPostprocessing = 0;
358
+		};
359
+/* End PBXResourcesBuildPhase section */
360
+
361
+/* Begin PBXShellScriptBuildPhase section */
362
+		00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
363
+			isa = PBXShellScriptBuildPhase;
364
+			buildActionMask = 2147483647;
365
+			files = (
366
+			);
367
+			inputPaths = (
368
+			);
369
+			name = "Bundle React Native code and images";
370
+			outputPaths = (
371
+			);
372
+			runOnlyForDeploymentPostprocessing = 0;
373
+			shellPath = /bin/sh;
374
+			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
375
+		};
376
+		2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
377
+			isa = PBXShellScriptBuildPhase;
378
+			buildActionMask = 2147483647;
379
+			files = (
380
+			);
381
+			inputPaths = (
382
+			);
383
+			name = "Bundle React Native Code And Images";
384
+			outputPaths = (
385
+			);
386
+			runOnlyForDeploymentPostprocessing = 0;
387
+			shellPath = /bin/sh;
388
+			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
389
+		};
390
+		56202D3091BCA37A2C594528 /* [CP] Check Pods Manifest.lock */ = {
391
+			isa = PBXShellScriptBuildPhase;
392
+			buildActionMask = 2147483647;
393
+			files = (
394
+			);
395
+			inputFileListPaths = (
396
+			);
397
+			inputPaths = (
398
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
399
+				"${PODS_ROOT}/Manifest.lock",
400
+			);
401
+			name = "[CP] Check Pods Manifest.lock";
402
+			outputFileListPaths = (
403
+			);
404
+			outputPaths = (
405
+				"$(DERIVED_FILE_DIR)/Pods-example-tvOSTests-checkManifestLockResult.txt",
406
+			);
407
+			runOnlyForDeploymentPostprocessing = 0;
408
+			shellPath = /bin/sh;
409
+			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";
410
+			showEnvVarsInLog = 0;
411
+		};
412
+		6D39E19069EEC1F18C65E89E /* [CP] Check Pods Manifest.lock */ = {
413
+			isa = PBXShellScriptBuildPhase;
414
+			buildActionMask = 2147483647;
415
+			files = (
416
+			);
417
+			inputFileListPaths = (
418
+			);
419
+			inputPaths = (
420
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
421
+				"${PODS_ROOT}/Manifest.lock",
422
+			);
423
+			name = "[CP] Check Pods Manifest.lock";
424
+			outputFileListPaths = (
425
+			);
426
+			outputPaths = (
427
+				"$(DERIVED_FILE_DIR)/Pods-example-checkManifestLockResult.txt",
428
+			);
429
+			runOnlyForDeploymentPostprocessing = 0;
430
+			shellPath = /bin/sh;
431
+			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";
432
+			showEnvVarsInLog = 0;
433
+		};
434
+		A2264F1CFC0047F3C8C5D43D /* [CP] Check Pods Manifest.lock */ = {
435
+			isa = PBXShellScriptBuildPhase;
436
+			buildActionMask = 2147483647;
437
+			files = (
438
+			);
439
+			inputFileListPaths = (
440
+			);
441
+			inputPaths = (
442
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
443
+				"${PODS_ROOT}/Manifest.lock",
444
+			);
445
+			name = "[CP] Check Pods Manifest.lock";
446
+			outputFileListPaths = (
447
+			);
448
+			outputPaths = (
449
+				"$(DERIVED_FILE_DIR)/Pods-exampleTests-checkManifestLockResult.txt",
450
+			);
451
+			runOnlyForDeploymentPostprocessing = 0;
452
+			shellPath = /bin/sh;
453
+			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";
454
+			showEnvVarsInLog = 0;
455
+		};
456
+		B980633124DB020AB7EC55E3 /* [CP] Check Pods Manifest.lock */ = {
457
+			isa = PBXShellScriptBuildPhase;
458
+			buildActionMask = 2147483647;
459
+			files = (
460
+			);
461
+			inputFileListPaths = (
462
+			);
463
+			inputPaths = (
464
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
465
+				"${PODS_ROOT}/Manifest.lock",
466
+			);
467
+			name = "[CP] Check Pods Manifest.lock";
468
+			outputFileListPaths = (
469
+			);
470
+			outputPaths = (
471
+				"$(DERIVED_FILE_DIR)/Pods-example-tvOS-checkManifestLockResult.txt",
472
+			);
473
+			runOnlyForDeploymentPostprocessing = 0;
474
+			shellPath = /bin/sh;
475
+			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";
476
+			showEnvVarsInLog = 0;
477
+		};
478
+		FD10A7F022414F080027D42C /* Start Packager */ = {
479
+			isa = PBXShellScriptBuildPhase;
480
+			buildActionMask = 2147483647;
481
+			files = (
482
+			);
483
+			inputFileListPaths = (
484
+			);
485
+			inputPaths = (
486
+			);
487
+			name = "Start Packager";
488
+			outputFileListPaths = (
489
+			);
490
+			outputPaths = (
491
+			);
492
+			runOnlyForDeploymentPostprocessing = 0;
493
+			shellPath = /bin/sh;
494
+			shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n  if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n    if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n      echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n      exit 2\n    fi\n  else\n    open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n  fi\nfi\n";
495
+			showEnvVarsInLog = 0;
496
+		};
497
+		FD10A7F122414F3F0027D42C /* Start Packager */ = {
498
+			isa = PBXShellScriptBuildPhase;
499
+			buildActionMask = 2147483647;
500
+			files = (
501
+			);
502
+			inputFileListPaths = (
503
+			);
504
+			inputPaths = (
505
+			);
506
+			name = "Start Packager";
507
+			outputFileListPaths = (
508
+			);
509
+			outputPaths = (
510
+			);
511
+			runOnlyForDeploymentPostprocessing = 0;
512
+			shellPath = /bin/sh;
513
+			shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n  if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n    if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n      echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n      exit 2\n    fi\n  else\n    open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n  fi\nfi\n";
514
+			showEnvVarsInLog = 0;
515
+		};
516
+/* End PBXShellScriptBuildPhase section */
517
+
518
+/* Begin PBXSourcesBuildPhase section */
519
+		00E356EA1AD99517003FC87E /* Sources */ = {
520
+			isa = PBXSourcesBuildPhase;
521
+			buildActionMask = 2147483647;
522
+			files = (
523
+				00E356F31AD99517003FC87E /* exampleTests.m in Sources */,
524
+			);
525
+			runOnlyForDeploymentPostprocessing = 0;
526
+		};
527
+		13B07F871A680F5B00A75B9A /* Sources */ = {
528
+			isa = PBXSourcesBuildPhase;
529
+			buildActionMask = 2147483647;
530
+			files = (
531
+				13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */,
532
+				13B07FC11A68108700A75B9A /* main.m in Sources */,
533
+			);
534
+			runOnlyForDeploymentPostprocessing = 0;
535
+		};
536
+		2D02E4771E0B4A5D006451C7 /* Sources */ = {
537
+			isa = PBXSourcesBuildPhase;
538
+			buildActionMask = 2147483647;
539
+			files = (
540
+				2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */,
541
+				2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */,
542
+			);
543
+			runOnlyForDeploymentPostprocessing = 0;
544
+		};
545
+		2D02E48C1E0B4A5D006451C7 /* Sources */ = {
546
+			isa = PBXSourcesBuildPhase;
547
+			buildActionMask = 2147483647;
548
+			files = (
549
+				2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */,
550
+			);
551
+			runOnlyForDeploymentPostprocessing = 0;
552
+		};
553
+/* End PBXSourcesBuildPhase section */
554
+
555
+/* Begin PBXTargetDependency section */
556
+		00E356F51AD99517003FC87E /* PBXTargetDependency */ = {
557
+			isa = PBXTargetDependency;
558
+			target = 13B07F861A680F5B00A75B9A /* example */;
559
+			targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
560
+		};
561
+		2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = {
562
+			isa = PBXTargetDependency;
563
+			target = 2D02E47A1E0B4A5D006451C7 /* example-tvOS */;
564
+			targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */;
565
+		};
566
+/* End PBXTargetDependency section */
567
+
568
+/* Begin PBXVariantGroup section */
569
+		13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = {
570
+			isa = PBXVariantGroup;
571
+			children = (
572
+				13B07FB21A68108700A75B9A /* Base */,
573
+			);
574
+			name = LaunchScreen.xib;
575
+			path = example;
576
+			sourceTree = "<group>";
577
+		};
578
+/* End PBXVariantGroup section */
579
+
580
+/* Begin XCBuildConfiguration section */
581
+		00E356F61AD99517003FC87E /* Debug */ = {
582
+			isa = XCBuildConfiguration;
583
+			baseConfigurationReference = 8A20011E75A0AD2EC5C6EAE9 /* Pods-exampleTests.debug.xcconfig */;
584
+			buildSettings = {
585
+				BUNDLE_LOADER = "$(TEST_HOST)";
586
+				GCC_PREPROCESSOR_DEFINITIONS = (
587
+					"DEBUG=1",
588
+					"$(inherited)",
589
+				);
590
+				INFOPLIST_FILE = exampleTests/Info.plist;
591
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
592
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
593
+				OTHER_LDFLAGS = (
594
+					"-ObjC",
595
+					"-lc++",
596
+					"$(inherited)",
597
+				);
598
+				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
599
+				PRODUCT_NAME = "$(TARGET_NAME)";
600
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example";
601
+			};
602
+			name = Debug;
603
+		};
604
+		00E356F71AD99517003FC87E /* Release */ = {
605
+			isa = XCBuildConfiguration;
606
+			baseConfigurationReference = 41B6A4553C4F552488B69B01 /* Pods-exampleTests.release.xcconfig */;
607
+			buildSettings = {
608
+				BUNDLE_LOADER = "$(TEST_HOST)";
609
+				COPY_PHASE_STRIP = NO;
610
+				INFOPLIST_FILE = exampleTests/Info.plist;
611
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
612
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
613
+				OTHER_LDFLAGS = (
614
+					"-ObjC",
615
+					"-lc++",
616
+					"$(inherited)",
617
+				);
618
+				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
619
+				PRODUCT_NAME = "$(TARGET_NAME)";
620
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example";
621
+			};
622
+			name = Release;
623
+		};
624
+		13B07F941A680F5B00A75B9A /* Debug */ = {
625
+			isa = XCBuildConfiguration;
626
+			baseConfigurationReference = 4372A2FD2D749DE5C9FD8D3E /* Pods-example.debug.xcconfig */;
627
+			buildSettings = {
628
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
629
+				CURRENT_PROJECT_VERSION = 1;
630
+				DEAD_CODE_STRIPPING = NO;
631
+				INFOPLIST_FILE = example/Info.plist;
632
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
633
+				OTHER_LDFLAGS = (
634
+					"$(inherited)",
635
+					"-ObjC",
636
+					"-lc++",
637
+				);
638
+				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
639
+				PRODUCT_NAME = example;
640
+				VERSIONING_SYSTEM = "apple-generic";
641
+			};
642
+			name = Debug;
643
+		};
644
+		13B07F951A680F5B00A75B9A /* Release */ = {
645
+			isa = XCBuildConfiguration;
646
+			baseConfigurationReference = 4FDD34C422D711AC8A7B10A7 /* Pods-example.release.xcconfig */;
647
+			buildSettings = {
648
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
649
+				CURRENT_PROJECT_VERSION = 1;
650
+				INFOPLIST_FILE = example/Info.plist;
651
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
652
+				OTHER_LDFLAGS = (
653
+					"$(inherited)",
654
+					"-ObjC",
655
+					"-lc++",
656
+				);
657
+				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
658
+				PRODUCT_NAME = example;
659
+				VERSIONING_SYSTEM = "apple-generic";
660
+			};
661
+			name = Release;
662
+		};
663
+		2D02E4971E0B4A5E006451C7 /* Debug */ = {
664
+			isa = XCBuildConfiguration;
665
+			baseConfigurationReference = 775F6B7492793F5DB7ECE95B /* Pods-example-tvOS.debug.xcconfig */;
666
+			buildSettings = {
667
+				ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
668
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
669
+				CLANG_ANALYZER_NONNULL = YES;
670
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
671
+				CLANG_WARN_INFINITE_RECURSION = YES;
672
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
673
+				DEBUG_INFORMATION_FORMAT = dwarf;
674
+				ENABLE_TESTABILITY = YES;
675
+				GCC_NO_COMMON_BLOCKS = YES;
676
+				INFOPLIST_FILE = "example-tvOS/Info.plist";
677
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
678
+				OTHER_LDFLAGS = (
679
+					"$(inherited)",
680
+					"-ObjC",
681
+					"-lc++",
682
+				);
683
+				PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOS";
684
+				PRODUCT_NAME = "$(TARGET_NAME)";
685
+				SDKROOT = appletvos;
686
+				TARGETED_DEVICE_FAMILY = 3;
687
+				TVOS_DEPLOYMENT_TARGET = 9.2;
688
+			};
689
+			name = Debug;
690
+		};
691
+		2D02E4981E0B4A5E006451C7 /* Release */ = {
692
+			isa = XCBuildConfiguration;
693
+			baseConfigurationReference = EDF80BE96CF92848F4E926EA /* Pods-example-tvOS.release.xcconfig */;
694
+			buildSettings = {
695
+				ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
696
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
697
+				CLANG_ANALYZER_NONNULL = YES;
698
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
699
+				CLANG_WARN_INFINITE_RECURSION = YES;
700
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
701
+				COPY_PHASE_STRIP = NO;
702
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
703
+				GCC_NO_COMMON_BLOCKS = YES;
704
+				INFOPLIST_FILE = "example-tvOS/Info.plist";
705
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
706
+				OTHER_LDFLAGS = (
707
+					"$(inherited)",
708
+					"-ObjC",
709
+					"-lc++",
710
+				);
711
+				PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOS";
712
+				PRODUCT_NAME = "$(TARGET_NAME)";
713
+				SDKROOT = appletvos;
714
+				TARGETED_DEVICE_FAMILY = 3;
715
+				TVOS_DEPLOYMENT_TARGET = 9.2;
716
+			};
717
+			name = Release;
718
+		};
719
+		2D02E4991E0B4A5E006451C7 /* Debug */ = {
720
+			isa = XCBuildConfiguration;
721
+			baseConfigurationReference = F67BC8D73DE103BA10A5488D /* Pods-example-tvOSTests.debug.xcconfig */;
722
+			buildSettings = {
723
+				BUNDLE_LOADER = "$(TEST_HOST)";
724
+				CLANG_ANALYZER_NONNULL = YES;
725
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
726
+				CLANG_WARN_INFINITE_RECURSION = YES;
727
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
728
+				DEBUG_INFORMATION_FORMAT = dwarf;
729
+				ENABLE_TESTABILITY = YES;
730
+				GCC_NO_COMMON_BLOCKS = YES;
731
+				INFOPLIST_FILE = "example-tvOSTests/Info.plist";
732
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
733
+				OTHER_LDFLAGS = (
734
+					"$(inherited)",
735
+					"-ObjC",
736
+					"-lc++",
737
+				);
738
+				PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests";
739
+				PRODUCT_NAME = "$(TARGET_NAME)";
740
+				SDKROOT = appletvos;
741
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS";
742
+				TVOS_DEPLOYMENT_TARGET = 10.1;
743
+			};
744
+			name = Debug;
745
+		};
746
+		2D02E49A1E0B4A5E006451C7 /* Release */ = {
747
+			isa = XCBuildConfiguration;
748
+			baseConfigurationReference = 59A4F27CAD1B7EFE80917453 /* Pods-example-tvOSTests.release.xcconfig */;
749
+			buildSettings = {
750
+				BUNDLE_LOADER = "$(TEST_HOST)";
751
+				CLANG_ANALYZER_NONNULL = YES;
752
+				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
753
+				CLANG_WARN_INFINITE_RECURSION = YES;
754
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
755
+				COPY_PHASE_STRIP = NO;
756
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
757
+				GCC_NO_COMMON_BLOCKS = YES;
758
+				INFOPLIST_FILE = "example-tvOSTests/Info.plist";
759
+				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
760
+				OTHER_LDFLAGS = (
761
+					"$(inherited)",
762
+					"-ObjC",
763
+					"-lc++",
764
+				);
765
+				PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests";
766
+				PRODUCT_NAME = "$(TARGET_NAME)";
767
+				SDKROOT = appletvos;
768
+				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS";
769
+				TVOS_DEPLOYMENT_TARGET = 10.1;
770
+			};
771
+			name = Release;
772
+		};
773
+		83CBBA201A601CBA00E9B192 /* Debug */ = {
774
+			isa = XCBuildConfiguration;
775
+			buildSettings = {
776
+				ALWAYS_SEARCH_USER_PATHS = NO;
777
+				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
778
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
779
+				CLANG_CXX_LIBRARY = "libc++";
780
+				CLANG_ENABLE_MODULES = YES;
781
+				CLANG_ENABLE_OBJC_ARC = YES;
782
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
783
+				CLANG_WARN_BOOL_CONVERSION = YES;
784
+				CLANG_WARN_COMMA = YES;
785
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
786
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
787
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
788
+				CLANG_WARN_EMPTY_BODY = YES;
789
+				CLANG_WARN_ENUM_CONVERSION = YES;
790
+				CLANG_WARN_INFINITE_RECURSION = YES;
791
+				CLANG_WARN_INT_CONVERSION = YES;
792
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
793
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
794
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
795
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
796
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
797
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
798
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
799
+				CLANG_WARN_UNREACHABLE_CODE = YES;
800
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
801
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
802
+				COPY_PHASE_STRIP = NO;
803
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
804
+				ENABLE_TESTABILITY = YES;
805
+				GCC_C_LANGUAGE_STANDARD = gnu99;
806
+				GCC_DYNAMIC_NO_PIC = NO;
807
+				GCC_NO_COMMON_BLOCKS = YES;
808
+				GCC_OPTIMIZATION_LEVEL = 0;
809
+				GCC_PREPROCESSOR_DEFINITIONS = (
810
+					"DEBUG=1",
811
+					"$(inherited)",
812
+				);
813
+				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
814
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
815
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
816
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
817
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
818
+				GCC_WARN_UNUSED_FUNCTION = YES;
819
+				GCC_WARN_UNUSED_VARIABLE = YES;
820
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
821
+				MTL_ENABLE_DEBUG_INFO = YES;
822
+				ONLY_ACTIVE_ARCH = YES;
823
+				SDKROOT = iphoneos;
824
+			};
825
+			name = Debug;
826
+		};
827
+		83CBBA211A601CBA00E9B192 /* Release */ = {
828
+			isa = XCBuildConfiguration;
829
+			buildSettings = {
830
+				ALWAYS_SEARCH_USER_PATHS = NO;
831
+				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
832
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
833
+				CLANG_CXX_LIBRARY = "libc++";
834
+				CLANG_ENABLE_MODULES = YES;
835
+				CLANG_ENABLE_OBJC_ARC = YES;
836
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
837
+				CLANG_WARN_BOOL_CONVERSION = YES;
838
+				CLANG_WARN_COMMA = YES;
839
+				CLANG_WARN_CONSTANT_CONVERSION = YES;
840
+				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
841
+				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
842
+				CLANG_WARN_EMPTY_BODY = YES;
843
+				CLANG_WARN_ENUM_CONVERSION = YES;
844
+				CLANG_WARN_INFINITE_RECURSION = YES;
845
+				CLANG_WARN_INT_CONVERSION = YES;
846
+				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
847
+				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
848
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
849
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
850
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
851
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
852
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
853
+				CLANG_WARN_UNREACHABLE_CODE = YES;
854
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
855
+				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
856
+				COPY_PHASE_STRIP = YES;
857
+				ENABLE_NS_ASSERTIONS = NO;
858
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
859
+				GCC_C_LANGUAGE_STANDARD = gnu99;
860
+				GCC_NO_COMMON_BLOCKS = YES;
861
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
862
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
863
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
864
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
865
+				GCC_WARN_UNUSED_FUNCTION = YES;
866
+				GCC_WARN_UNUSED_VARIABLE = YES;
867
+				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
868
+				MTL_ENABLE_DEBUG_INFO = NO;
869
+				SDKROOT = iphoneos;
870
+				VALIDATE_PRODUCT = YES;
871
+			};
872
+			name = Release;
873
+		};
874
+/* End XCBuildConfiguration section */
875
+
876
+/* Begin XCConfigurationList section */
877
+		00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */ = {
878
+			isa = XCConfigurationList;
879
+			buildConfigurations = (
880
+				00E356F61AD99517003FC87E /* Debug */,
881
+				00E356F71AD99517003FC87E /* Release */,
882
+			);
883
+			defaultConfigurationIsVisible = 0;
884
+			defaultConfigurationName = Release;
885
+		};
886
+		13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */ = {
887
+			isa = XCConfigurationList;
888
+			buildConfigurations = (
889
+				13B07F941A680F5B00A75B9A /* Debug */,
890
+				13B07F951A680F5B00A75B9A /* Release */,
891
+			);
892
+			defaultConfigurationIsVisible = 0;
893
+			defaultConfigurationName = Release;
894
+		};
895
+		2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */ = {
896
+			isa = XCConfigurationList;
897
+			buildConfigurations = (
898
+				2D02E4971E0B4A5E006451C7 /* Debug */,
899
+				2D02E4981E0B4A5E006451C7 /* Release */,
900
+			);
901
+			defaultConfigurationIsVisible = 0;
902
+			defaultConfigurationName = Release;
903
+		};
904
+		2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */ = {
905
+			isa = XCConfigurationList;
906
+			buildConfigurations = (
907
+				2D02E4991E0B4A5E006451C7 /* Debug */,
908
+				2D02E49A1E0B4A5E006451C7 /* Release */,
909
+			);
910
+			defaultConfigurationIsVisible = 0;
911
+			defaultConfigurationName = Release;
912
+		};
913
+		83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "example" */ = {
914
+			isa = XCConfigurationList;
915
+			buildConfigurations = (
916
+				83CBBA201A601CBA00E9B192 /* Debug */,
917
+				83CBBA211A601CBA00E9B192 /* Release */,
918
+			);
919
+			defaultConfigurationIsVisible = 0;
920
+			defaultConfigurationName = Release;
921
+		};
922
+/* End XCConfigurationList section */
923
+	};
924
+	rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
925
+}

+ 129
- 0
example/ios/example.xcodeproj/xcshareddata/xcschemes/example-tvOS.xcscheme 파일 보기

@@ -0,0 +1,129 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<Scheme
3
+   LastUpgradeVersion = "0940"
4
+   version = "1.3">
5
+   <BuildAction
6
+      parallelizeBuildables = "NO"
7
+      buildImplicitDependencies = "YES">
8
+      <BuildActionEntries>
9
+         <BuildActionEntry
10
+            buildForTesting = "YES"
11
+            buildForRunning = "YES"
12
+            buildForProfiling = "YES"
13
+            buildForArchiving = "YES"
14
+            buildForAnalyzing = "YES">
15
+            <BuildableReference
16
+               BuildableIdentifier = "primary"
17
+               BlueprintIdentifier = "2D2A28121D9B038B00D4039D"
18
+               BuildableName = "libReact.a"
19
+               BlueprintName = "React-tvOS"
20
+               ReferencedContainer = "container:../node_modules/react-native/React/React.xcodeproj">
21
+            </BuildableReference>
22
+         </BuildActionEntry>
23
+         <BuildActionEntry
24
+            buildForTesting = "YES"
25
+            buildForRunning = "YES"
26
+            buildForProfiling = "YES"
27
+            buildForArchiving = "YES"
28
+            buildForAnalyzing = "YES">
29
+            <BuildableReference
30
+               BuildableIdentifier = "primary"
31
+               BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
32
+               BuildableName = "example-tvOS.app"
33
+               BlueprintName = "example-tvOS"
34
+               ReferencedContainer = "container:example.xcodeproj">
35
+            </BuildableReference>
36
+         </BuildActionEntry>
37
+         <BuildActionEntry
38
+            buildForTesting = "YES"
39
+            buildForRunning = "YES"
40
+            buildForProfiling = "NO"
41
+            buildForArchiving = "NO"
42
+            buildForAnalyzing = "YES">
43
+            <BuildableReference
44
+               BuildableIdentifier = "primary"
45
+               BlueprintIdentifier = "2D02E48F1E0B4A5D006451C7"
46
+               BuildableName = "example-tvOSTests.xctest"
47
+               BlueprintName = "example-tvOSTests"
48
+               ReferencedContainer = "container:example.xcodeproj">
49
+            </BuildableReference>
50
+         </BuildActionEntry>
51
+      </BuildActionEntries>
52
+   </BuildAction>
53
+   <TestAction
54
+      buildConfiguration = "Debug"
55
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
56
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
57
+      shouldUseLaunchSchemeArgsEnv = "YES">
58
+      <Testables>
59
+         <TestableReference
60
+            skipped = "NO">
61
+            <BuildableReference
62
+               BuildableIdentifier = "primary"
63
+               BlueprintIdentifier = "2D02E48F1E0B4A5D006451C7"
64
+               BuildableName = "example-tvOSTests.xctest"
65
+               BlueprintName = "example-tvOSTests"
66
+               ReferencedContainer = "container:example.xcodeproj">
67
+            </BuildableReference>
68
+         </TestableReference>
69
+      </Testables>
70
+      <MacroExpansion>
71
+         <BuildableReference
72
+            BuildableIdentifier = "primary"
73
+            BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
74
+            BuildableName = "example-tvOS.app"
75
+            BlueprintName = "example-tvOS"
76
+            ReferencedContainer = "container:example.xcodeproj">
77
+         </BuildableReference>
78
+      </MacroExpansion>
79
+      <AdditionalOptions>
80
+      </AdditionalOptions>
81
+   </TestAction>
82
+   <LaunchAction
83
+      buildConfiguration = "Debug"
84
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
85
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
86
+      launchStyle = "0"
87
+      useCustomWorkingDirectory = "NO"
88
+      ignoresPersistentStateOnLaunch = "NO"
89
+      debugDocumentVersioning = "YES"
90
+      debugServiceExtension = "internal"
91
+      allowLocationSimulation = "YES">
92
+      <BuildableProductRunnable
93
+         runnableDebuggingMode = "0">
94
+         <BuildableReference
95
+            BuildableIdentifier = "primary"
96
+            BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
97
+            BuildableName = "example-tvOS.app"
98
+            BlueprintName = "example-tvOS"
99
+            ReferencedContainer = "container:example.xcodeproj">
100
+         </BuildableReference>
101
+      </BuildableProductRunnable>
102
+      <AdditionalOptions>
103
+      </AdditionalOptions>
104
+   </LaunchAction>
105
+   <ProfileAction
106
+      buildConfiguration = "Release"
107
+      shouldUseLaunchSchemeArgsEnv = "YES"
108
+      savedToolIdentifier = ""
109
+      useCustomWorkingDirectory = "NO"
110
+      debugDocumentVersioning = "YES">
111
+      <BuildableProductRunnable
112
+         runnableDebuggingMode = "0">
113
+         <BuildableReference
114
+            BuildableIdentifier = "primary"
115
+            BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
116
+            BuildableName = "example-tvOS.app"
117
+            BlueprintName = "example-tvOS"
118
+            ReferencedContainer = "container:example.xcodeproj">
119
+         </BuildableReference>
120
+      </BuildableProductRunnable>
121
+   </ProfileAction>
122
+   <AnalyzeAction
123
+      buildConfiguration = "Debug">
124
+   </AnalyzeAction>
125
+   <ArchiveAction
126
+      buildConfiguration = "Release"
127
+      revealArchiveInOrganizer = "YES">
128
+   </ArchiveAction>
129
+</Scheme>

+ 129
- 0
example/ios/example.xcodeproj/xcshareddata/xcschemes/example.xcscheme 파일 보기

@@ -0,0 +1,129 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<Scheme
3
+   LastUpgradeVersion = "0940"
4
+   version = "1.3">
5
+   <BuildAction
6
+      parallelizeBuildables = "NO"
7
+      buildImplicitDependencies = "YES">
8
+      <BuildActionEntries>
9
+         <BuildActionEntry
10
+            buildForTesting = "YES"
11
+            buildForRunning = "YES"
12
+            buildForProfiling = "YES"
13
+            buildForArchiving = "YES"
14
+            buildForAnalyzing = "YES">
15
+            <BuildableReference
16
+               BuildableIdentifier = "primary"
17
+               BlueprintIdentifier = "83CBBA2D1A601D0E00E9B192"
18
+               BuildableName = "libReact.a"
19
+               BlueprintName = "React"
20
+               ReferencedContainer = "container:../node_modules/react-native/React/React.xcodeproj">
21
+            </BuildableReference>
22
+         </BuildActionEntry>
23
+         <BuildActionEntry
24
+            buildForTesting = "YES"
25
+            buildForRunning = "YES"
26
+            buildForProfiling = "YES"
27
+            buildForArchiving = "YES"
28
+            buildForAnalyzing = "YES">
29
+            <BuildableReference
30
+               BuildableIdentifier = "primary"
31
+               BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
32
+               BuildableName = "example.app"
33
+               BlueprintName = "example"
34
+               ReferencedContainer = "container:example.xcodeproj">
35
+            </BuildableReference>
36
+         </BuildActionEntry>
37
+         <BuildActionEntry
38
+            buildForTesting = "YES"
39
+            buildForRunning = "YES"
40
+            buildForProfiling = "NO"
41
+            buildForArchiving = "NO"
42
+            buildForAnalyzing = "YES">
43
+            <BuildableReference
44
+               BuildableIdentifier = "primary"
45
+               BlueprintIdentifier = "00E356ED1AD99517003FC87E"
46
+               BuildableName = "exampleTests.xctest"
47
+               BlueprintName = "exampleTests"
48
+               ReferencedContainer = "container:example.xcodeproj">
49
+            </BuildableReference>
50
+         </BuildActionEntry>
51
+      </BuildActionEntries>
52
+   </BuildAction>
53
+   <TestAction
54
+      buildConfiguration = "Debug"
55
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
56
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
57
+      shouldUseLaunchSchemeArgsEnv = "YES">
58
+      <Testables>
59
+         <TestableReference
60
+            skipped = "NO">
61
+            <BuildableReference
62
+               BuildableIdentifier = "primary"
63
+               BlueprintIdentifier = "00E356ED1AD99517003FC87E"
64
+               BuildableName = "exampleTests.xctest"
65
+               BlueprintName = "exampleTests"
66
+               ReferencedContainer = "container:example.xcodeproj">
67
+            </BuildableReference>
68
+         </TestableReference>
69
+      </Testables>
70
+      <MacroExpansion>
71
+         <BuildableReference
72
+            BuildableIdentifier = "primary"
73
+            BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
74
+            BuildableName = "example.app"
75
+            BlueprintName = "example"
76
+            ReferencedContainer = "container:example.xcodeproj">
77
+         </BuildableReference>
78
+      </MacroExpansion>
79
+      <AdditionalOptions>
80
+      </AdditionalOptions>
81
+   </TestAction>
82
+   <LaunchAction
83
+      buildConfiguration = "Debug"
84
+      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
85
+      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
86
+      launchStyle = "0"
87
+      useCustomWorkingDirectory = "NO"
88
+      ignoresPersistentStateOnLaunch = "NO"
89
+      debugDocumentVersioning = "YES"
90
+      debugServiceExtension = "internal"
91
+      allowLocationSimulation = "YES">
92
+      <BuildableProductRunnable
93
+         runnableDebuggingMode = "0">
94
+         <BuildableReference
95
+            BuildableIdentifier = "primary"
96
+            BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
97
+            BuildableName = "example.app"
98
+            BlueprintName = "example"
99
+            ReferencedContainer = "container:example.xcodeproj">
100
+         </BuildableReference>
101
+      </BuildableProductRunnable>
102
+      <AdditionalOptions>
103
+      </AdditionalOptions>
104
+   </LaunchAction>
105
+   <ProfileAction
106
+      buildConfiguration = "Release"
107
+      shouldUseLaunchSchemeArgsEnv = "YES"
108
+      savedToolIdentifier = ""
109
+      useCustomWorkingDirectory = "NO"
110
+      debugDocumentVersioning = "YES">
111
+      <BuildableProductRunnable
112
+         runnableDebuggingMode = "0">
113
+         <BuildableReference
114
+            BuildableIdentifier = "primary"
115
+            BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
116
+            BuildableName = "example.app"
117
+            BlueprintName = "example"
118
+            ReferencedContainer = "container:example.xcodeproj">
119
+         </BuildableReference>
120
+      </BuildableProductRunnable>
121
+   </ProfileAction>
122
+   <AnalyzeAction
123
+      buildConfiguration = "Debug">
124
+   </AnalyzeAction>
125
+   <ArchiveAction
126
+      buildConfiguration = "Release"
127
+      revealArchiveInOrganizer = "YES">
128
+   </ArchiveAction>
129
+</Scheme>

+ 10
- 0
example/ios/example.xcworkspace/contents.xcworkspacedata 파일 보기

@@ -0,0 +1,10 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<Workspace
3
+   version = "1.0">
4
+   <FileRef
5
+      location = "group:example.xcodeproj">
6
+   </FileRef>
7
+   <FileRef
8
+      location = "group:Pods/Pods.xcodeproj">
9
+   </FileRef>
10
+</Workspace>

+ 8
- 0
example/ios/example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist 파일 보기

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>IDEDidComputeMac32BitWarning</key>
6
+	<true/>
7
+</dict>
8
+</plist>

+ 15
- 0
example/ios/example/AppDelegate.h 파일 보기

@@ -0,0 +1,15 @@
1
+/**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+#import <React/RCTBridgeDelegate.h>
9
+#import <UIKit/UIKit.h>
10
+
11
+@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate>
12
+
13
+@property (nonatomic, strong) UIWindow *window;
14
+
15
+@end

+ 42
- 0
example/ios/example/AppDelegate.m 파일 보기

@@ -0,0 +1,42 @@
1
+/**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+#import "AppDelegate.h"
9
+
10
+#import <React/RCTBridge.h>
11
+#import <React/RCTBundleURLProvider.h>
12
+#import <React/RCTRootView.h>
13
+
14
+@implementation AppDelegate
15
+
16
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
17
+{
18
+  RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
19
+  RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
20
+                                                   moduleName:@"example"
21
+                                            initialProperties:nil];
22
+
23
+  rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
24
+
25
+  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
26
+  UIViewController *rootViewController = [UIViewController new];
27
+  rootViewController.view = rootView;
28
+  self.window.rootViewController = rootViewController;
29
+  [self.window makeKeyAndVisible];
30
+  return YES;
31
+}
32
+
33
+- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
34
+{
35
+#if DEBUG
36
+  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
37
+#else
38
+  return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
39
+#endif
40
+}
41
+
42
+@end

+ 42
- 0
example/ios/example/Base.lproj/LaunchScreen.xib 파일 보기

@@ -0,0 +1,42 @@
1
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
3
+    <dependencies>
4
+        <deployment identifier="iOS"/>
5
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7701"/>
6
+        <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
7
+    </dependencies>
8
+    <objects>
9
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
10
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
11
+        <view contentMode="scaleToFill" id="iN0-l3-epB">
12
+            <rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
13
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
14
+            <subviews>
15
+                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Powered by React Native" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
16
+                    <rect key="frame" x="20" y="439" width="441" height="21"/>
17
+                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
18
+                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
19
+                    <nil key="highlightedColor"/>
20
+                </label>
21
+                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="example" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
22
+                    <rect key="frame" x="20" y="140" width="441" height="43"/>
23
+                    <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
24
+                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
25
+                    <nil key="highlightedColor"/>
26
+                </label>
27
+            </subviews>
28
+            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
29
+            <constraints>
30
+                <constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
31
+                <constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
32
+                <constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
33
+                <constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
34
+                <constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
35
+                <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
36
+            </constraints>
37
+            <nil key="simulatedStatusBarMetrics"/>
38
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
39
+            <point key="canvasLocation" x="548" y="455"/>
40
+        </view>
41
+    </objects>
42
+</document>

+ 38
- 0
example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json 파일 보기

@@ -0,0 +1,38 @@
1
+{
2
+  "images" : [
3
+    {
4
+      "idiom" : "iphone",
5
+      "size" : "29x29",
6
+      "scale" : "2x"
7
+    },
8
+    {
9
+      "idiom" : "iphone",
10
+      "size" : "29x29",
11
+      "scale" : "3x"
12
+    },
13
+    {
14
+      "idiom" : "iphone",
15
+      "size" : "40x40",
16
+      "scale" : "2x"
17
+    },
18
+    {
19
+      "idiom" : "iphone",
20
+      "size" : "40x40",
21
+      "scale" : "3x"
22
+    },
23
+    {
24
+      "idiom" : "iphone",
25
+      "size" : "60x60",
26
+      "scale" : "2x"
27
+    },
28
+    {
29
+      "idiom" : "iphone",
30
+      "size" : "60x60",
31
+      "scale" : "3x"
32
+    }
33
+  ],
34
+  "info" : {
35
+    "version" : 1,
36
+    "author" : "xcode"
37
+  }
38
+}

+ 6
- 0
example/ios/example/Images.xcassets/Contents.json 파일 보기

@@ -0,0 +1,6 @@
1
+{
2
+  "info" : {
3
+    "version" : 1,
4
+    "author" : "xcode"
5
+  }
6
+}

+ 57
- 0
example/ios/example/Info.plist 파일 보기

@@ -0,0 +1,57 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>CFBundleDevelopmentRegion</key>
6
+	<string>en</string>
7
+	<key>CFBundleDisplayName</key>
8
+	<string>example</string>
9
+	<key>CFBundleExecutable</key>
10
+	<string>$(EXECUTABLE_NAME)</string>
11
+	<key>CFBundleIdentifier</key>
12
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
13
+	<key>CFBundleInfoDictionaryVersion</key>
14
+	<string>6.0</string>
15
+	<key>CFBundleName</key>
16
+	<string>$(PRODUCT_NAME)</string>
17
+	<key>CFBundlePackageType</key>
18
+	<string>APPL</string>
19
+	<key>CFBundleShortVersionString</key>
20
+	<string>1.0</string>
21
+	<key>CFBundleSignature</key>
22
+	<string>????</string>
23
+	<key>CFBundleVersion</key>
24
+	<string>1</string>
25
+	<key>LSRequiresIPhoneOS</key>
26
+	<true/>
27
+	<key>NSAppTransportSecurity</key>
28
+	<dict>
29
+		<key>NSAllowsArbitraryLoads</key>
30
+		<true/>
31
+		<key>NSExceptionDomains</key>
32
+		<dict>
33
+			<key>localhost</key>
34
+			<dict>
35
+				<key>NSExceptionAllowsInsecureHTTPLoads</key>
36
+				<true/>
37
+			</dict>
38
+		</dict>
39
+	</dict>
40
+	<key>NSLocationWhenInUseUsageDescription</key>
41
+	<string></string>
42
+	<key>UILaunchStoryboardName</key>
43
+	<string>LaunchScreen</string>
44
+	<key>UIRequiredDeviceCapabilities</key>
45
+	<array>
46
+		<string>armv7</string>
47
+	</array>
48
+	<key>UISupportedInterfaceOrientations</key>
49
+	<array>
50
+		<string>UIInterfaceOrientationPortrait</string>
51
+		<string>UIInterfaceOrientationLandscapeLeft</string>
52
+		<string>UIInterfaceOrientationLandscapeRight</string>
53
+	</array>
54
+	<key>UIViewControllerBasedStatusBarAppearance</key>
55
+	<false/>
56
+</dict>
57
+</plist>

+ 16
- 0
example/ios/example/main.m 파일 보기

@@ -0,0 +1,16 @@
1
+/**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+#import <UIKit/UIKit.h>
9
+
10
+#import "AppDelegate.h"
11
+
12
+int main(int argc, char * argv[]) {
13
+  @autoreleasepool {
14
+    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
15
+  }
16
+}

+ 24
- 0
example/ios/exampleTests/Info.plist 파일 보기

@@ -0,0 +1,24 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+	<key>CFBundleDevelopmentRegion</key>
6
+	<string>en</string>
7
+	<key>CFBundleExecutable</key>
8
+	<string>$(EXECUTABLE_NAME)</string>
9
+	<key>CFBundleIdentifier</key>
10
+	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11
+	<key>CFBundleInfoDictionaryVersion</key>
12
+	<string>6.0</string>
13
+	<key>CFBundleName</key>
14
+	<string>$(PRODUCT_NAME)</string>
15
+	<key>CFBundlePackageType</key>
16
+	<string>BNDL</string>
17
+	<key>CFBundleShortVersionString</key>
18
+	<string>1.0</string>
19
+	<key>CFBundleSignature</key>
20
+	<string>????</string>
21
+	<key>CFBundleVersion</key>
22
+	<string>1</string>
23
+</dict>
24
+</plist>

+ 72
- 0
example/ios/exampleTests/exampleTests.m 파일 보기

@@ -0,0 +1,72 @@
1
+/**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+#import <UIKit/UIKit.h>
9
+#import <XCTest/XCTest.h>
10
+
11
+#import <React/RCTLog.h>
12
+#import <React/RCTRootView.h>
13
+
14
+#define TIMEOUT_SECONDS 600
15
+#define TEXT_TO_LOOK_FOR @"Welcome to React"
16
+
17
+@interface exampleTests : XCTestCase
18
+
19
+@end
20
+
21
+@implementation exampleTests
22
+
23
+- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test
24
+{
25
+  if (test(view)) {
26
+    return YES;
27
+  }
28
+  for (UIView *subview in [view subviews]) {
29
+    if ([self findSubviewInView:subview matching:test]) {
30
+      return YES;
31
+    }
32
+  }
33
+  return NO;
34
+}
35
+
36
+- (void)testRendersWelcomeScreen
37
+{
38
+  UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController];
39
+  NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];
40
+  BOOL foundElement = NO;
41
+
42
+  __block NSString *redboxError = nil;
43
+#ifdef DEBUG
44
+  RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
45
+    if (level >= RCTLogLevelError) {
46
+      redboxError = message;
47
+    }
48
+  });
49
+#endif
50
+
51
+  while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
52
+    [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
53
+    [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
54
+
55
+    foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) {
56
+      if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {
57
+        return YES;
58
+      }
59
+      return NO;
60
+    }];
61
+  }
62
+  
63
+#ifdef DEBUG
64
+  RCTSetLogFunction(RCTDefaultLogFunction);
65
+#endif
66
+
67
+  XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
68
+  XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
69
+}
70
+
71
+
72
+@end

+ 17
- 0
example/metro.config.js 파일 보기

@@ -0,0 +1,17 @@
1
+/**
2
+ * Metro configuration for React Native
3
+ * https://github.com/facebook/react-native
4
+ *
5
+ * @format
6
+ */
7
+
8
+module.exports = {
9
+  transformer: {
10
+    getTransformOptions: async () => ({
11
+      transform: {
12
+        experimentalImportSupport: false,
13
+        inlineRequires: false,
14
+      },
15
+    }),
16
+  },
17
+};

+ 39
- 0
example/package.json 파일 보기

@@ -0,0 +1,39 @@
1
+{
2
+  "name": "example",
3
+  "version": "0.0.1",
4
+  "private": true,
5
+  "scripts": {
6
+    "android": "react-native run-android",
7
+    "ios": "react-native run-ios",
8
+    "start": "react-native start",
9
+    "test": "jest",
10
+    "lint": "eslint . --ext .js,.jsx,.ts,.tsx"
11
+  },
12
+  "dependencies": {
13
+    "react": "16.9.0",
14
+    "react-native": "0.61.5",
15
+    "react-native-webview": "file:../"
16
+  },
17
+  "devDependencies": {
18
+    "@babel/core": "^7.6.2",
19
+    "@babel/runtime": "^7.6.2",
20
+    "@types/react-native": "^0.60.25",
21
+    "@types/react-test-renderer": "16.9.1",
22
+    "@typescript-eslint/eslint-plugin": "^2.12.0",
23
+    "@typescript-eslint/parser": "^2.12.0",
24
+    "babel-jest": "^24.9.0",
25
+    "metro-react-native-babel-preset": "^0.56.0",
26
+    "typescript": "^3.7.3"
27
+  },
28
+  "jest": {
29
+    "preset": "react-native",
30
+    "moduleFileExtensions": [
31
+      "ts",
32
+      "tsx",
33
+      "js",
34
+      "jsx",
35
+      "json",
36
+      "node"
37
+    ]
38
+  }
39
+}

+ 62
- 0
example/tsconfig.json 파일 보기

@@ -0,0 +1,62 @@
1
+ 
2
+{
3
+  "compilerOptions": {
4
+    /* Basic Options */
5
+    "target": "esnext",                       /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
6
+    "module": "commonjs",                     /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
7
+    "lib": ["es6"],                           /* Specify library files to be included in the compilation. */
8
+    "allowJs": true,                          /* Allow javascript files to be compiled. */
9
+    // "checkJs": true,                       /* Report errors in .js files. */
10
+    "jsx": "react-native",                    /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
11
+    // "declaration": true,                   /* Generates corresponding '.d.ts' file. */
12
+    // "sourceMap": true,                     /* Generates corresponding '.map' file. */
13
+    // "outFile": "./",                       /* Concatenate and emit output to single file. */
14
+    // "outDir": "./",                        /* Redirect output structure to the directory. */
15
+    // "rootDir": "./",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
16
+    // "removeComments": true,                /* Do not emit comments to output. */
17
+    "noEmit": true,                           /* Do not emit outputs. */
18
+    "incremental": true,                      /* Enable incremental compilation */
19
+    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
20
+    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
21
+    "isolatedModules": true,                  /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
22
+
23
+    /* Strict Type-Checking Options */
24
+    "strict": true,                           /* Enable all strict type-checking options. */
25
+    // "noImplicitAny": true,                 /* Raise error on expressions and declarations with an implied 'any' type. */
26
+    // "strictNullChecks": true,              /* Enable strict null checks. */
27
+    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
28
+    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
29
+    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
30
+    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
31
+
32
+    /* Additional Checks */
33
+    // "noUnusedLocals": true,                /* Report errors on unused locals. */
34
+    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
35
+    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
36
+    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
37
+
38
+    /* Module Resolution Options */
39
+    "moduleResolution": "node",               /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
40
+    "baseUrl": "./",                          /* Base directory to resolve non-absolute module names. */
41
+    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
42
+    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
43
+    // "typeRoots": [],                       /* List of folders to include type definitions from. */
44
+    // "types": [],                           /* Type declaration files to be included in compilation. */
45
+    "allowSyntheticDefaultImports": true,     /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
46
+    "esModuleInterop": true                   /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
47
+    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
48
+
49
+    /* Source Map Options */
50
+    // "sourceRoot": "./",                    /* Specify the location where debugger should locate TypeScript files instead of source locations. */
51
+    // "mapRoot": "./",                       /* Specify the location where debugger should locate map files instead of generated locations. */
52
+    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
53
+    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
54
+
55
+    /* Experimental Options */
56
+    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
57
+    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
58
+  },
59
+  "exclude": [
60
+    "node_modules", "babel.config.js", "metro.config.js", "jest.config.js"
61
+  ]
62
+}

+ 6591
- 0
example/yarn.lock
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기