Init project.
							
								
								
									
										42
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,42 @@
 | 
			
		||||
# OSX
 | 
			
		||||
#
 | 
			
		||||
.DS_Store
 | 
			
		||||
 | 
			
		||||
# node.js
 | 
			
		||||
#
 | 
			
		||||
node_modules/
 | 
			
		||||
npm-debug.log
 | 
			
		||||
yarn-error.log
 | 
			
		||||
 | 
			
		||||
# Xcode
 | 
			
		||||
#
 | 
			
		||||
build/
 | 
			
		||||
*.pbxuser
 | 
			
		||||
!default.pbxuser
 | 
			
		||||
*.mode1v3
 | 
			
		||||
!default.mode1v3
 | 
			
		||||
*.mode2v3
 | 
			
		||||
!default.mode2v3
 | 
			
		||||
*.perspectivev3
 | 
			
		||||
!default.perspectivev3
 | 
			
		||||
xcuserdata
 | 
			
		||||
*.xccheckout
 | 
			
		||||
*.moved-aside
 | 
			
		||||
DerivedData
 | 
			
		||||
*.hmap
 | 
			
		||||
*.ipa
 | 
			
		||||
*.xcuserstate
 | 
			
		||||
project.xcworkspace
 | 
			
		||||
 | 
			
		||||
# Android/IntelliJ
 | 
			
		||||
#
 | 
			
		||||
build/
 | 
			
		||||
.idea
 | 
			
		||||
.gradle
 | 
			
		||||
local.properties
 | 
			
		||||
*.iml
 | 
			
		||||
 | 
			
		||||
# BUCK
 | 
			
		||||
buck-out/
 | 
			
		||||
\.buckd/
 | 
			
		||||
*.keystore
 | 
			
		||||
							
								
								
									
										40
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,40 @@
 | 
			
		||||
# @uiw/react-native-wechat
 | 
			
		||||
 | 
			
		||||
## Getting started
 | 
			
		||||
 | 
			
		||||
`$ npm install @uiw/react-native-wechat --save`
 | 
			
		||||
 | 
			
		||||
### Mostly automatic installation
 | 
			
		||||
 | 
			
		||||
`$ react-native link @uiw/react-native-wechat`
 | 
			
		||||
 | 
			
		||||
## Usage
 | 
			
		||||
```javascript
 | 
			
		||||
import RNWechat from '@uiw/react-native-wechat';
 | 
			
		||||
 | 
			
		||||
// TODO: What to do with the module?
 | 
			
		||||
RNWechat;
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## 开发
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
cd example   # 进入实例 example 工程,根目录不需要安装,会引发错误
 | 
			
		||||
yarn install # 安装依赖
 | 
			
		||||
 | 
			
		||||
cd ios     # 进入 example/ios 目录安装依赖
 | 
			
		||||
pod instll # 安装依赖
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## 其它
 | 
			
		||||
 | 
			
		||||
当前工程基于 [@brodybits/create-react-native-module](https://github.com/brodybits/create-react-native-module) 初始化。
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
npx create-react-native-module --package-identifier com.uiwjs.react.wechat --object-class-name RNWechat --generate-example Wechat --example-react-native-version 0.63.2 --module-name @uiw/react-native-wechat --github-account uiwjs --author-name "Kenny Wong" --author-email "wowohoo@qq.com"
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## 相关连接 
 | 
			
		||||
 | 
			
		||||
- [微信(SDK):iOS定位SDK v1.8.7.1](https://developers.weixin.qq.com/doc/oplatform/Downloads/iOS_Resource.html)
 | 
			
		||||
							
								
								
									
										14
									
								
								android/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,14 @@
 | 
			
		||||
README
 | 
			
		||||
======
 | 
			
		||||
 | 
			
		||||
If you want to publish the lib as a maven dependency, follow these steps before publishing a new version to npm:
 | 
			
		||||
 | 
			
		||||
1. Be sure to have the Android [SDK](https://developer.android.com/studio/index.html) and [NDK](https://developer.android.com/ndk/guides/index.html) installed
 | 
			
		||||
2. Be sure to have a `local.properties` file in this folder that points to the Android SDK and NDK
 | 
			
		||||
```
 | 
			
		||||
ndk.dir=/Users/{username}/Library/Android/sdk/ndk-bundle
 | 
			
		||||
sdk.dir=/Users/{username}/Library/Android/sdk
 | 
			
		||||
```
 | 
			
		||||
3. Delete the `maven` folder
 | 
			
		||||
4. Run `./gradlew installArchives`
 | 
			
		||||
5. Verify that latest set of generated files is in the maven folder with the correct version number
 | 
			
		||||
							
								
								
									
										149
									
								
								android/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,149 @@
 | 
			
		||||
// android/build.gradle
 | 
			
		||||
 | 
			
		||||
// based on:
 | 
			
		||||
//
 | 
			
		||||
// * https://github.com/facebook/react-native/blob/0.60-stable/template/android/build.gradle
 | 
			
		||||
//   original location:
 | 
			
		||||
//   - https://github.com/facebook/react-native/blob/0.58-stable/local-cli/templates/HelloWorld/android/build.gradle
 | 
			
		||||
//
 | 
			
		||||
// * https://github.com/facebook/react-native/blob/0.60-stable/template/android/app/build.gradle
 | 
			
		||||
//   original location:
 | 
			
		||||
//   - https://github.com/facebook/react-native/blob/0.58-stable/local-cli/templates/HelloWorld/android/app/build.gradle
 | 
			
		||||
 | 
			
		||||
def DEFAULT_COMPILE_SDK_VERSION = 28
 | 
			
		||||
def DEFAULT_BUILD_TOOLS_VERSION = '28.0.3'
 | 
			
		||||
def DEFAULT_MIN_SDK_VERSION = 16
 | 
			
		||||
def DEFAULT_TARGET_SDK_VERSION = 28
 | 
			
		||||
 | 
			
		||||
def safeExtGet(prop, fallback) {
 | 
			
		||||
    rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
apply plugin: 'com.android.library'
 | 
			
		||||
apply plugin: 'maven'
 | 
			
		||||
 | 
			
		||||
buildscript {
 | 
			
		||||
    // The Android Gradle plugin is only required when opening the android folder stand-alone.
 | 
			
		||||
    // This avoids unnecessary downloads and potential conflicts when the library is included as a
 | 
			
		||||
    // module dependency in an application project.
 | 
			
		||||
    // ref: https://docs.gradle.org/current/userguide/tutorial_using_tasks.html#sec:build_script_external_dependencies
 | 
			
		||||
    if (project == rootProject) {
 | 
			
		||||
        repositories {
 | 
			
		||||
            google()
 | 
			
		||||
            jcenter()
 | 
			
		||||
        }
 | 
			
		||||
        dependencies {
 | 
			
		||||
            classpath 'com.android.tools.build:gradle:3.4.1'
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
apply plugin: 'com.android.library'
 | 
			
		||||
apply plugin: 'maven'
 | 
			
		||||
 | 
			
		||||
android {
 | 
			
		||||
    compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)
 | 
			
		||||
    buildToolsVersion safeExtGet('buildToolsVersion', DEFAULT_BUILD_TOOLS_VERSION)
 | 
			
		||||
    defaultConfig {
 | 
			
		||||
        minSdkVersion safeExtGet('minSdkVersion', DEFAULT_MIN_SDK_VERSION)
 | 
			
		||||
        targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION)
 | 
			
		||||
        versionCode 1
 | 
			
		||||
        versionName "1.0"
 | 
			
		||||
    }
 | 
			
		||||
    lintOptions {
 | 
			
		||||
        abortOnError false
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
repositories {
 | 
			
		||||
    // ref: https://www.baeldung.com/maven-local-repository
 | 
			
		||||
    mavenLocal()
 | 
			
		||||
    maven {
 | 
			
		||||
        // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
 | 
			
		||||
        url "$rootDir/../node_modules/react-native/android"
 | 
			
		||||
    }
 | 
			
		||||
    maven {
 | 
			
		||||
        // Android JSC is installed from npm
 | 
			
		||||
        url "$rootDir/../node_modules/jsc-android/dist"
 | 
			
		||||
    }
 | 
			
		||||
    google()
 | 
			
		||||
    jcenter()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    //noinspection GradleDynamicVersion
 | 
			
		||||
    implementation 'com.facebook.react:react-native:+'  // From node_modules
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
def configureReactNativePom(def pom) {
 | 
			
		||||
    def packageJson = new groovy.json.JsonSlurper().parseText(file('../package.json').text)
 | 
			
		||||
 | 
			
		||||
    pom.project {
 | 
			
		||||
        name packageJson.title
 | 
			
		||||
        artifactId packageJson.name
 | 
			
		||||
        version = packageJson.version
 | 
			
		||||
        group = "com.uiwjs.react.wechat"
 | 
			
		||||
        description packageJson.description
 | 
			
		||||
        url packageJson.repository.baseUrl
 | 
			
		||||
 | 
			
		||||
        licenses {
 | 
			
		||||
            license {
 | 
			
		||||
                name packageJson.license
 | 
			
		||||
                url packageJson.repository.baseUrl + '/blob/master/' + packageJson.licenseFilename
 | 
			
		||||
                distribution 'repo'
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        developers {
 | 
			
		||||
            developer {
 | 
			
		||||
                id packageJson.author.username
 | 
			
		||||
                name packageJson.author.name
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
afterEvaluate { project ->
 | 
			
		||||
    // some Gradle build hooks ref:
 | 
			
		||||
    // https://www.oreilly.com/library/view/gradle-beyond-the/9781449373801/ch03.html
 | 
			
		||||
    task androidJavadoc(type: Javadoc) {
 | 
			
		||||
        source = android.sourceSets.main.java.srcDirs
 | 
			
		||||
        classpath += files(android.bootClasspath)
 | 
			
		||||
        classpath += files(project.getConfigurations().getByName('compile').asList())
 | 
			
		||||
        include '**/*.java'
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    task androidJavadocJar(type: Jar, dependsOn: androidJavadoc) {
 | 
			
		||||
        classifier = 'javadoc'
 | 
			
		||||
        from androidJavadoc.destinationDir
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    task androidSourcesJar(type: Jar) {
 | 
			
		||||
        classifier = 'sources'
 | 
			
		||||
        from android.sourceSets.main.java.srcDirs
 | 
			
		||||
        include '**/*.java'
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    android.libraryVariants.all { variant ->
 | 
			
		||||
        def name = variant.name.capitalize()
 | 
			
		||||
        def javaCompileTask = variant.javaCompileProvider.get()
 | 
			
		||||
 | 
			
		||||
        task "jar${name}"(type: Jar, dependsOn: javaCompileTask) {
 | 
			
		||||
            from javaCompileTask.destinationDir
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    artifacts {
 | 
			
		||||
        archives androidSourcesJar
 | 
			
		||||
        archives androidJavadocJar
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    task installArchives(type: Upload) {
 | 
			
		||||
        configuration = configurations.archives
 | 
			
		||||
        repositories.mavenDeployer {
 | 
			
		||||
            // Deploy to react-native-event-bridge/maven, ready to publish to npm
 | 
			
		||||
            repository url: "file://${projectDir}/../android/maven"
 | 
			
		||||
            configureReactNativePom pom
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								android/src/main/AndroidManifest.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
			
		||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
          package="com.uiwjs.react.wechat">
 | 
			
		||||
 | 
			
		||||
</manifest>
 | 
			
		||||
@@ -0,0 +1,27 @@
 | 
			
		||||
package com.uiwjs.react.wechat;
 | 
			
		||||
 | 
			
		||||
import com.facebook.react.bridge.ReactApplicationContext;
 | 
			
		||||
import com.facebook.react.bridge.ReactContextBaseJavaModule;
 | 
			
		||||
import com.facebook.react.bridge.ReactMethod;
 | 
			
		||||
import com.facebook.react.bridge.Callback;
 | 
			
		||||
 | 
			
		||||
public class RNWechatModule extends ReactContextBaseJavaModule {
 | 
			
		||||
 | 
			
		||||
    private final ReactApplicationContext reactContext;
 | 
			
		||||
 | 
			
		||||
    public RNWechatModule(ReactApplicationContext reactContext) {
 | 
			
		||||
        super(reactContext);
 | 
			
		||||
        this.reactContext = reactContext;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public String getName() {
 | 
			
		||||
        return "RNWechat";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @ReactMethod
 | 
			
		||||
    public void sampleMethod(String stringArgument, int numberArgument, Callback callback) {
 | 
			
		||||
        // TODO: Implement some actually useful functionality
 | 
			
		||||
        callback.invoke("Received numberArgument: " + numberArgument + " stringArgument: " + stringArgument);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,23 @@
 | 
			
		||||
package com.uiwjs.react.wechat;
 | 
			
		||||
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.Collections;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import com.facebook.react.ReactPackage;
 | 
			
		||||
import com.facebook.react.bridge.NativeModule;
 | 
			
		||||
import com.facebook.react.bridge.ReactApplicationContext;
 | 
			
		||||
import com.facebook.react.uimanager.ViewManager;
 | 
			
		||||
import com.facebook.react.bridge.JavaScriptModule;
 | 
			
		||||
 | 
			
		||||
public class RNWechatPackage implements ReactPackage {
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
 | 
			
		||||
        return Arrays.<NativeModule>asList(new RNWechatModule(reactContext));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
 | 
			
		||||
        return Collections.emptyList();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										6
									
								
								example/.buckconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
			
		||||
 | 
			
		||||
[android]
 | 
			
		||||
  target = Google Inc.:Google APIs:23
 | 
			
		||||
 | 
			
		||||
[maven_repositories]
 | 
			
		||||
  central = https://repo1.maven.org/maven2
 | 
			
		||||
							
								
								
									
										4
									
								
								example/.eslintrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
  root: true,
 | 
			
		||||
  extends: '@react-native-community',
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										73
									
								
								example/.flowconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,73 @@
 | 
			
		||||
[ignore]
 | 
			
		||||
; We fork some components by platform
 | 
			
		||||
.*/*[.]android.js
 | 
			
		||||
 | 
			
		||||
; Ignore "BUCK" generated dirs
 | 
			
		||||
<PROJECT_ROOT>/\.buckd/
 | 
			
		||||
 | 
			
		||||
; Ignore polyfills
 | 
			
		||||
node_modules/react-native/Libraries/polyfills/.*
 | 
			
		||||
 | 
			
		||||
; These should not be required directly
 | 
			
		||||
; require from fbjs/lib instead: require('fbjs/lib/warning')
 | 
			
		||||
node_modules/warning/.*
 | 
			
		||||
 | 
			
		||||
; Flow doesn't support platforms
 | 
			
		||||
.*/Libraries/Utilities/LoadingView.js
 | 
			
		||||
 | 
			
		||||
[untyped]
 | 
			
		||||
.*/node_modules/@react-native-community/cli/.*/.*
 | 
			
		||||
 | 
			
		||||
[include]
 | 
			
		||||
 | 
			
		||||
[libs]
 | 
			
		||||
node_modules/react-native/interface.js
 | 
			
		||||
node_modules/react-native/flow/
 | 
			
		||||
 | 
			
		||||
[options]
 | 
			
		||||
emoji=true
 | 
			
		||||
 | 
			
		||||
esproposal.optional_chaining=enable
 | 
			
		||||
esproposal.nullish_coalescing=enable
 | 
			
		||||
 | 
			
		||||
module.file_ext=.js
 | 
			
		||||
module.file_ext=.json
 | 
			
		||||
module.file_ext=.ios.js
 | 
			
		||||
 | 
			
		||||
munge_underscores=true
 | 
			
		||||
 | 
			
		||||
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
 | 
			
		||||
module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
 | 
			
		||||
 | 
			
		||||
suppress_type=$FlowIssue
 | 
			
		||||
suppress_type=$FlowFixMe
 | 
			
		||||
suppress_type=$FlowFixMeProps
 | 
			
		||||
suppress_type=$FlowFixMeState
 | 
			
		||||
 | 
			
		||||
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
 | 
			
		||||
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
 | 
			
		||||
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
 | 
			
		||||
 | 
			
		||||
[lints]
 | 
			
		||||
sketchy-null-number=warn
 | 
			
		||||
sketchy-null-mixed=warn
 | 
			
		||||
sketchy-number=warn
 | 
			
		||||
untyped-type-import=warn
 | 
			
		||||
nonstrict-import=warn
 | 
			
		||||
deprecated-type=warn
 | 
			
		||||
unsafe-getters-setters=warn
 | 
			
		||||
unnecessary-invariant=warn
 | 
			
		||||
signature-verification-failure=warn
 | 
			
		||||
deprecated-utility=error
 | 
			
		||||
 | 
			
		||||
[strict]
 | 
			
		||||
deprecated-type
 | 
			
		||||
nonstrict-import
 | 
			
		||||
sketchy-null
 | 
			
		||||
unclear-type
 | 
			
		||||
unsafe-getters-setters
 | 
			
		||||
untyped-import
 | 
			
		||||
untyped-type-import
 | 
			
		||||
 | 
			
		||||
[version]
 | 
			
		||||
^0.122.0
 | 
			
		||||
							
								
								
									
										1
									
								
								example/.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
*.pbxproj -text
 | 
			
		||||
							
								
								
									
										59
									
								
								example/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,59 @@
 | 
			
		||||
# OSX
 | 
			
		||||
#
 | 
			
		||||
.DS_Store
 | 
			
		||||
 | 
			
		||||
# Xcode
 | 
			
		||||
#
 | 
			
		||||
build/
 | 
			
		||||
*.pbxuser
 | 
			
		||||
!default.pbxuser
 | 
			
		||||
*.mode1v3
 | 
			
		||||
!default.mode1v3
 | 
			
		||||
*.mode2v3
 | 
			
		||||
!default.mode2v3
 | 
			
		||||
*.perspectivev3
 | 
			
		||||
!default.perspectivev3
 | 
			
		||||
xcuserdata
 | 
			
		||||
*.xccheckout
 | 
			
		||||
*.moved-aside
 | 
			
		||||
DerivedData
 | 
			
		||||
*.hmap
 | 
			
		||||
*.ipa
 | 
			
		||||
*.xcuserstate
 | 
			
		||||
 | 
			
		||||
# Android/IntelliJ
 | 
			
		||||
#
 | 
			
		||||
build/
 | 
			
		||||
.idea
 | 
			
		||||
.gradle
 | 
			
		||||
local.properties
 | 
			
		||||
*.iml
 | 
			
		||||
 | 
			
		||||
# node.js
 | 
			
		||||
#
 | 
			
		||||
node_modules/
 | 
			
		||||
npm-debug.log
 | 
			
		||||
yarn-error.log
 | 
			
		||||
 | 
			
		||||
# BUCK
 | 
			
		||||
buck-out/
 | 
			
		||||
\.buckd/
 | 
			
		||||
*.keystore
 | 
			
		||||
!debug.keystore
 | 
			
		||||
 | 
			
		||||
# fastlane
 | 
			
		||||
#
 | 
			
		||||
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
 | 
			
		||||
# screenshots whenever they are needed.
 | 
			
		||||
# For more information about the recommended setup visit:
 | 
			
		||||
# https://docs.fastlane.tools/best-practices/source-control/
 | 
			
		||||
 | 
			
		||||
*/fastlane/report.xml
 | 
			
		||||
*/fastlane/Preview.html
 | 
			
		||||
*/fastlane/screenshots
 | 
			
		||||
 | 
			
		||||
# Bundle artifact
 | 
			
		||||
*.jsbundle
 | 
			
		||||
 | 
			
		||||
# CocoaPods
 | 
			
		||||
/ios/Pods/
 | 
			
		||||
							
								
								
									
										6
									
								
								example/.prettierrc.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
  bracketSpacing: false,
 | 
			
		||||
  jsxBracketSameLine: true,
 | 
			
		||||
  singleQuote: true,
 | 
			
		||||
  trailingComma: 'all',
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										1
									
								
								example/.watchmanconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
{}
 | 
			
		||||
							
								
								
									
										57
									
								
								example/App.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,57 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Sample React Native App
 | 
			
		||||
 *
 | 
			
		||||
 * adapted from App.js generated by the following command:
 | 
			
		||||
 *
 | 
			
		||||
 * react-native init example
 | 
			
		||||
 *
 | 
			
		||||
 * https://github.com/facebook/react-native
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import React, { Component } from 'react';
 | 
			
		||||
import { Platform, StyleSheet, Text, View } from 'react-native';
 | 
			
		||||
import RNWechat from '@uiw/react-native-wechat';
 | 
			
		||||
 | 
			
		||||
export default class App extends Component<{}> {
 | 
			
		||||
  state = {
 | 
			
		||||
    status: 'starting',
 | 
			
		||||
    message: '--'
 | 
			
		||||
  };
 | 
			
		||||
  componentDidMount() {
 | 
			
		||||
    RNWechat.sampleMethod('Testing', 123, (message) => {
 | 
			
		||||
      this.setState({
 | 
			
		||||
        status: 'native callback received',
 | 
			
		||||
        message
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
  render() {
 | 
			
		||||
    return (
 | 
			
		||||
      <View style={styles.container}>
 | 
			
		||||
        <Text style={styles.welcome}>☆RNWechat example☆</Text>
 | 
			
		||||
        <Text style={styles.instructions}>STATUS: {this.state.status}</Text>
 | 
			
		||||
        <Text style={styles.welcome}>☆NATIVE CALLBACK MESSAGE☆</Text>
 | 
			
		||||
        <Text style={styles.instructions}>{this.state.message}</Text>
 | 
			
		||||
      </View>
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const styles = StyleSheet.create({
 | 
			
		||||
  container: {
 | 
			
		||||
    flex: 1,
 | 
			
		||||
    justifyContent: 'center',
 | 
			
		||||
    alignItems: 'center',
 | 
			
		||||
    backgroundColor: '#F5FCFF',
 | 
			
		||||
  },
 | 
			
		||||
  welcome: {
 | 
			
		||||
    fontSize: 20,
 | 
			
		||||
    textAlign: 'center',
 | 
			
		||||
    margin: 10,
 | 
			
		||||
  },
 | 
			
		||||
  instructions: {
 | 
			
		||||
    textAlign: 'center',
 | 
			
		||||
    color: '#333333',
 | 
			
		||||
    marginBottom: 5,
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										14
									
								
								example/__tests__/App-test.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,14 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @format
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import 'react-native';
 | 
			
		||||
import React from 'react';
 | 
			
		||||
import App from '../App';
 | 
			
		||||
 | 
			
		||||
// Note: test renderer must be required after react-native.
 | 
			
		||||
import renderer from 'react-test-renderer';
 | 
			
		||||
 | 
			
		||||
it('renders correctly', () => {
 | 
			
		||||
  renderer.create(<App />);
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										55
									
								
								example/android/app/_BUCK
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,55 @@
 | 
			
		||||
# To learn about Buck see [Docs](https://buckbuild.com/).
 | 
			
		||||
# To run your application with Buck:
 | 
			
		||||
# - install Buck
 | 
			
		||||
# - `npm start` - to start the packager
 | 
			
		||||
# - `cd android`
 | 
			
		||||
# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
 | 
			
		||||
# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
 | 
			
		||||
# - `buck install -r android/app` - compile, install and run application
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
 | 
			
		||||
 | 
			
		||||
lib_deps = []
 | 
			
		||||
 | 
			
		||||
create_aar_targets(glob(["libs/*.aar"]))
 | 
			
		||||
 | 
			
		||||
create_jar_targets(glob(["libs/*.jar"]))
 | 
			
		||||
 | 
			
		||||
android_library(
 | 
			
		||||
    name = "all-libs",
 | 
			
		||||
    exported_deps = lib_deps,
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
android_library(
 | 
			
		||||
    name = "app-code",
 | 
			
		||||
    srcs = glob([
 | 
			
		||||
        "src/main/java/**/*.java",
 | 
			
		||||
    ]),
 | 
			
		||||
    deps = [
 | 
			
		||||
        ":all-libs",
 | 
			
		||||
        ":build_config",
 | 
			
		||||
        ":res",
 | 
			
		||||
    ],
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
android_build_config(
 | 
			
		||||
    name = "build_config",
 | 
			
		||||
    package = "com.example",
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
android_resource(
 | 
			
		||||
    name = "res",
 | 
			
		||||
    package = "com.example",
 | 
			
		||||
    res = "src/main/res",
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
android_binary(
 | 
			
		||||
    name = "app",
 | 
			
		||||
    keystore = "//android/keystores:debug",
 | 
			
		||||
    manifest = "src/main/AndroidManifest.xml",
 | 
			
		||||
    package_type = "debug",
 | 
			
		||||
    deps = [
 | 
			
		||||
        ":app-code",
 | 
			
		||||
    ],
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										219
									
								
								example/android/app/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,219 @@
 | 
			
		||||
apply plugin: "com.android.application"
 | 
			
		||||
 | 
			
		||||
import com.android.build.OutputFile
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
 | 
			
		||||
 * and bundleReleaseJsAndAssets).
 | 
			
		||||
 * These basically call `react-native bundle` with the correct arguments during the Android build
 | 
			
		||||
 * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
 | 
			
		||||
 * bundle directly from the development server. Below you can see all the possible configurations
 | 
			
		||||
 * and their defaults. If you decide to add a configuration block, make sure to add it before the
 | 
			
		||||
 * `apply from: "../../node_modules/react-native/react.gradle"` line.
 | 
			
		||||
 *
 | 
			
		||||
 * project.ext.react = [
 | 
			
		||||
 *   // the name of the generated asset file containing your JS bundle
 | 
			
		||||
 *   bundleAssetName: "index.android.bundle",
 | 
			
		||||
 *
 | 
			
		||||
 *   // the entry file for bundle generation. If none specified and
 | 
			
		||||
 *   // "index.android.js" exists, it will be used. Otherwise "index.js" is
 | 
			
		||||
 *   // default. Can be overridden with ENTRY_FILE environment variable.
 | 
			
		||||
 *   entryFile: "index.android.js",
 | 
			
		||||
 *
 | 
			
		||||
 *   // https://reactnative.dev/docs/performance#enable-the-ram-format
 | 
			
		||||
 *   bundleCommand: "ram-bundle",
 | 
			
		||||
 *
 | 
			
		||||
 *   // whether to bundle JS and assets in debug mode
 | 
			
		||||
 *   bundleInDebug: false,
 | 
			
		||||
 *
 | 
			
		||||
 *   // whether to bundle JS and assets in release mode
 | 
			
		||||
 *   bundleInRelease: true,
 | 
			
		||||
 *
 | 
			
		||||
 *   // whether to bundle JS and assets in another build variant (if configured).
 | 
			
		||||
 *   // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
 | 
			
		||||
 *   // The configuration property can be in the following formats
 | 
			
		||||
 *   //         'bundleIn${productFlavor}${buildType}'
 | 
			
		||||
 *   //         'bundleIn${buildType}'
 | 
			
		||||
 *   // bundleInFreeDebug: true,
 | 
			
		||||
 *   // bundleInPaidRelease: true,
 | 
			
		||||
 *   // bundleInBeta: true,
 | 
			
		||||
 *
 | 
			
		||||
 *   // whether to disable dev mode in custom build variants (by default only disabled in release)
 | 
			
		||||
 *   // for example: to disable dev mode in the staging build type (if configured)
 | 
			
		||||
 *   devDisabledInStaging: true,
 | 
			
		||||
 *   // The configuration property can be in the following formats
 | 
			
		||||
 *   //         'devDisabledIn${productFlavor}${buildType}'
 | 
			
		||||
 *   //         'devDisabledIn${buildType}'
 | 
			
		||||
 *
 | 
			
		||||
 *   // the root of your project, i.e. where "package.json" lives
 | 
			
		||||
 *   root: "../../",
 | 
			
		||||
 *
 | 
			
		||||
 *   // where to put the JS bundle asset in debug mode
 | 
			
		||||
 *   jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
 | 
			
		||||
 *
 | 
			
		||||
 *   // where to put the JS bundle asset in release mode
 | 
			
		||||
 *   jsBundleDirRelease: "$buildDir/intermediates/assets/release",
 | 
			
		||||
 *
 | 
			
		||||
 *   // where to put drawable resources / React Native assets, e.g. the ones you use via
 | 
			
		||||
 *   // require('./image.png')), in debug mode
 | 
			
		||||
 *   resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
 | 
			
		||||
 *
 | 
			
		||||
 *   // where to put drawable resources / React Native assets, e.g. the ones you use via
 | 
			
		||||
 *   // require('./image.png')), in release mode
 | 
			
		||||
 *   resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
 | 
			
		||||
 *
 | 
			
		||||
 *   // by default the gradle tasks are skipped if none of the JS files or assets change; this means
 | 
			
		||||
 *   // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
 | 
			
		||||
 *   // date; if you have any other folders that you want to ignore for performance reasons (gradle
 | 
			
		||||
 *   // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
 | 
			
		||||
 *   // for example, you might want to remove it from here.
 | 
			
		||||
 *   inputExcludes: ["android/**", "ios/**"],
 | 
			
		||||
 *
 | 
			
		||||
 *   // override which node gets called and with what additional arguments
 | 
			
		||||
 *   nodeExecutableAndArgs: ["node"],
 | 
			
		||||
 *
 | 
			
		||||
 *   // supply additional arguments to the packager
 | 
			
		||||
 *   extraPackagerArgs: []
 | 
			
		||||
 * ]
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
project.ext.react = [
 | 
			
		||||
    enableHermes: false,  // clean and rebuild if changing
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
apply from: "../../node_modules/react-native/react.gradle"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Set this to true to create two separate APKs instead of one:
 | 
			
		||||
 *   - An APK that only works on ARM devices
 | 
			
		||||
 *   - An APK that only works on x86 devices
 | 
			
		||||
 * The advantage is the size of the APK is reduced by about 4MB.
 | 
			
		||||
 * Upload all the APKs to the Play Store and people will download
 | 
			
		||||
 * the correct one based on the CPU architecture of their device.
 | 
			
		||||
 */
 | 
			
		||||
def enableSeparateBuildPerCPUArchitecture = false
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Run Proguard to shrink the Java bytecode in release builds.
 | 
			
		||||
 */
 | 
			
		||||
def enableProguardInReleaseBuilds = false
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * The preferred build flavor of JavaScriptCore.
 | 
			
		||||
 *
 | 
			
		||||
 * For example, to use the international variant, you can use:
 | 
			
		||||
 * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
 | 
			
		||||
 *
 | 
			
		||||
 * The international variant includes ICU i18n library and necessary data
 | 
			
		||||
 * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
 | 
			
		||||
 * give correct results when using with locales other than en-US.  Note that
 | 
			
		||||
 * this variant is about 6MiB larger per architecture than default.
 | 
			
		||||
 */
 | 
			
		||||
def jscFlavor = 'org.webkit:android-jsc:+'
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Whether to enable the Hermes VM.
 | 
			
		||||
 *
 | 
			
		||||
 * This should be set on project.ext.react and mirrored here.  If it is not set
 | 
			
		||||
 * on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
 | 
			
		||||
 * and the benefits of using Hermes will therefore be sharply reduced.
 | 
			
		||||
 */
 | 
			
		||||
def enableHermes = project.ext.react.get("enableHermes", false);
 | 
			
		||||
 | 
			
		||||
android {
 | 
			
		||||
    compileSdkVersion rootProject.ext.compileSdkVersion
 | 
			
		||||
 | 
			
		||||
    compileOptions {
 | 
			
		||||
        sourceCompatibility JavaVersion.VERSION_1_8
 | 
			
		||||
        targetCompatibility JavaVersion.VERSION_1_8
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    defaultConfig {
 | 
			
		||||
        applicationId "com.example"
 | 
			
		||||
        minSdkVersion rootProject.ext.minSdkVersion
 | 
			
		||||
        targetSdkVersion rootProject.ext.targetSdkVersion
 | 
			
		||||
        versionCode 1
 | 
			
		||||
        versionName "1.0"
 | 
			
		||||
    }
 | 
			
		||||
    splits {
 | 
			
		||||
        abi {
 | 
			
		||||
            reset()
 | 
			
		||||
            enable enableSeparateBuildPerCPUArchitecture
 | 
			
		||||
            universalApk false  // If true, also generate a universal APK
 | 
			
		||||
            include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    signingConfigs {
 | 
			
		||||
        debug {
 | 
			
		||||
            storeFile file('debug.keystore')
 | 
			
		||||
            storePassword 'android'
 | 
			
		||||
            keyAlias 'androiddebugkey'
 | 
			
		||||
            keyPassword 'android'
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    buildTypes {
 | 
			
		||||
        debug {
 | 
			
		||||
            signingConfig signingConfigs.debug
 | 
			
		||||
        }
 | 
			
		||||
        release {
 | 
			
		||||
            // Caution! In production, you need to generate your own keystore file.
 | 
			
		||||
            // see https://reactnative.dev/docs/signed-apk-android.
 | 
			
		||||
            signingConfig signingConfigs.debug
 | 
			
		||||
            minifyEnabled enableProguardInReleaseBuilds
 | 
			
		||||
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // applicationVariants are e.g. debug, release
 | 
			
		||||
    applicationVariants.all { variant ->
 | 
			
		||||
        variant.outputs.each { output ->
 | 
			
		||||
            // For each separate APK per architecture, set a unique version code as described here:
 | 
			
		||||
            // https://developer.android.com/studio/build/configure-apk-splits.html
 | 
			
		||||
            def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
 | 
			
		||||
            def abi = output.getFilter(OutputFile.ABI)
 | 
			
		||||
            if (abi != null) {  // null for the universal-debug, universal-release variants
 | 
			
		||||
                output.versionCodeOverride =
 | 
			
		||||
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
dependencies {
 | 
			
		||||
    implementation fileTree(dir: "libs", include: ["*.jar"])
 | 
			
		||||
    //noinspection GradleDynamicVersion
 | 
			
		||||
    implementation "com.facebook.react:react-native:+"  // From node_modules
 | 
			
		||||
 | 
			
		||||
    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
 | 
			
		||||
 | 
			
		||||
    debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
 | 
			
		||||
      exclude group:'com.facebook.fbjni'
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
 | 
			
		||||
        exclude group:'com.facebook.flipper'
 | 
			
		||||
        exclude group:'com.squareup.okhttp3', module:'okhttp'
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
 | 
			
		||||
        exclude group:'com.facebook.flipper'
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (enableHermes) {
 | 
			
		||||
        def hermesPath = "../../node_modules/hermes-engine/android/";
 | 
			
		||||
        debugImplementation files(hermesPath + "hermes-debug.aar")
 | 
			
		||||
        releaseImplementation files(hermesPath + "hermes-release.aar")
 | 
			
		||||
    } else {
 | 
			
		||||
        implementation jscFlavor
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Run this once to be able to run the application with BUCK
 | 
			
		||||
// puts all compile dependencies into folder libs for BUCK to use
 | 
			
		||||
task copyDownloadableDepsToLibs(type: Copy) {
 | 
			
		||||
    from configurations.compile
 | 
			
		||||
    into 'libs'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
 | 
			
		||||
							
								
								
									
										19
									
								
								example/android/app/build_defs.bzl
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,19 @@
 | 
			
		||||
"""Helper definitions to glob .aar and .jar targets"""
 | 
			
		||||
 | 
			
		||||
def create_aar_targets(aarfiles):
 | 
			
		||||
    for aarfile in aarfiles:
 | 
			
		||||
        name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
 | 
			
		||||
        lib_deps.append(":" + name)
 | 
			
		||||
        android_prebuilt_aar(
 | 
			
		||||
            name = name,
 | 
			
		||||
            aar = aarfile,
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
def create_jar_targets(jarfiles):
 | 
			
		||||
    for jarfile in jarfiles:
 | 
			
		||||
        name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
 | 
			
		||||
        lib_deps.append(":" + name)
 | 
			
		||||
        prebuilt_jar(
 | 
			
		||||
            name = name,
 | 
			
		||||
            binary_jar = jarfile,
 | 
			
		||||
        )
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/android/app/debug.keystore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										10
									
								
								example/android/app/proguard-rules.pro
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,10 @@
 | 
			
		||||
# Add project specific ProGuard rules here.
 | 
			
		||||
# By default, the flags in this file are appended to flags specified
 | 
			
		||||
# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
 | 
			
		||||
# You can edit the include path and order by changing the proguardFiles
 | 
			
		||||
# directive in build.gradle.
 | 
			
		||||
#
 | 
			
		||||
# For more details, see
 | 
			
		||||
#   http://developer.android.com/guide/developing/tools/proguard.html
 | 
			
		||||
 | 
			
		||||
# Add any project specific keep options here:
 | 
			
		||||
							
								
								
									
										8
									
								
								example/android/app/src/debug/AndroidManifest.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,8 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
    xmlns:tools="http://schemas.android.com/tools">
 | 
			
		||||
 | 
			
		||||
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
 | 
			
		||||
 | 
			
		||||
    <application android:usesCleartextTraffic="true" tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" />
 | 
			
		||||
</manifest>
 | 
			
		||||
@@ -0,0 +1,72 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Copyright (c) Facebook, Inc. and its affiliates.
 | 
			
		||||
 *
 | 
			
		||||
 * <p>This source code is licensed under the MIT license found in the LICENSE file in the root
 | 
			
		||||
 * directory of this source tree.
 | 
			
		||||
 */
 | 
			
		||||
package com.example;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import com.facebook.flipper.android.AndroidFlipperClient;
 | 
			
		||||
import com.facebook.flipper.android.utils.FlipperUtils;
 | 
			
		||||
import com.facebook.flipper.core.FlipperClient;
 | 
			
		||||
import com.facebook.flipper.plugins.crashreporter.CrashReporterPlugin;
 | 
			
		||||
import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin;
 | 
			
		||||
import com.facebook.flipper.plugins.fresco.FrescoFlipperPlugin;
 | 
			
		||||
import com.facebook.flipper.plugins.inspector.DescriptorMapping;
 | 
			
		||||
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
 | 
			
		||||
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
 | 
			
		||||
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
 | 
			
		||||
import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
 | 
			
		||||
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
 | 
			
		||||
import com.facebook.react.ReactInstanceManager;
 | 
			
		||||
import com.facebook.react.bridge.ReactContext;
 | 
			
		||||
import com.facebook.react.modules.network.NetworkingModule;
 | 
			
		||||
import okhttp3.OkHttpClient;
 | 
			
		||||
 | 
			
		||||
public class ReactNativeFlipper {
 | 
			
		||||
  public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
 | 
			
		||||
    if (FlipperUtils.shouldEnableFlipper(context)) {
 | 
			
		||||
      final FlipperClient client = AndroidFlipperClient.getInstance(context);
 | 
			
		||||
 | 
			
		||||
      client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
 | 
			
		||||
      client.addPlugin(new ReactFlipperPlugin());
 | 
			
		||||
      client.addPlugin(new DatabasesFlipperPlugin(context));
 | 
			
		||||
      client.addPlugin(new SharedPreferencesFlipperPlugin(context));
 | 
			
		||||
      client.addPlugin(CrashReporterPlugin.getInstance());
 | 
			
		||||
 | 
			
		||||
      NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin();
 | 
			
		||||
      NetworkingModule.setCustomClientBuilder(
 | 
			
		||||
          new NetworkingModule.CustomClientBuilder() {
 | 
			
		||||
            @Override
 | 
			
		||||
            public void apply(OkHttpClient.Builder builder) {
 | 
			
		||||
              builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
 | 
			
		||||
            }
 | 
			
		||||
          });
 | 
			
		||||
      client.addPlugin(networkFlipperPlugin);
 | 
			
		||||
      client.start();
 | 
			
		||||
 | 
			
		||||
      // Fresco Plugin needs to ensure that ImagePipelineFactory is initialized
 | 
			
		||||
      // Hence we run if after all native modules have been initialized
 | 
			
		||||
      ReactContext reactContext = reactInstanceManager.getCurrentReactContext();
 | 
			
		||||
      if (reactContext == null) {
 | 
			
		||||
        reactInstanceManager.addReactInstanceEventListener(
 | 
			
		||||
            new ReactInstanceManager.ReactInstanceEventListener() {
 | 
			
		||||
              @Override
 | 
			
		||||
              public void onReactContextInitialized(ReactContext reactContext) {
 | 
			
		||||
                reactInstanceManager.removeReactInstanceEventListener(this);
 | 
			
		||||
                reactContext.runOnNativeModulesQueueThread(
 | 
			
		||||
                    new Runnable() {
 | 
			
		||||
                      @Override
 | 
			
		||||
                      public void run() {
 | 
			
		||||
                        client.addPlugin(new FrescoFlipperPlugin());
 | 
			
		||||
                      }
 | 
			
		||||
                    });
 | 
			
		||||
              }
 | 
			
		||||
            });
 | 
			
		||||
      } else {
 | 
			
		||||
        client.addPlugin(new FrescoFlipperPlugin());
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										27
									
								
								example/android/app/src/main/AndroidManifest.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,27 @@
 | 
			
		||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 | 
			
		||||
  package="com.example">
 | 
			
		||||
 | 
			
		||||
    <uses-permission android:name="android.permission.INTERNET" />
 | 
			
		||||
 | 
			
		||||
    <application
 | 
			
		||||
      android:name=".MainApplication"
 | 
			
		||||
      android:label="@string/app_name"
 | 
			
		||||
      android:icon="@mipmap/ic_launcher"
 | 
			
		||||
      android:roundIcon="@mipmap/ic_launcher_round"
 | 
			
		||||
      android:allowBackup="false"
 | 
			
		||||
      android:theme="@style/AppTheme">
 | 
			
		||||
      <activity
 | 
			
		||||
        android:name=".MainActivity"
 | 
			
		||||
        android:label="@string/app_name"
 | 
			
		||||
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
 | 
			
		||||
        android:launchMode="singleTask"
 | 
			
		||||
        android:windowSoftInputMode="adjustResize">
 | 
			
		||||
        <intent-filter>
 | 
			
		||||
            <action android:name="android.intent.action.MAIN" />
 | 
			
		||||
            <category android:name="android.intent.category.LAUNCHER" />
 | 
			
		||||
        </intent-filter>
 | 
			
		||||
      </activity>
 | 
			
		||||
      <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
 | 
			
		||||
    </application>
 | 
			
		||||
 | 
			
		||||
</manifest>
 | 
			
		||||
@@ -0,0 +1,15 @@
 | 
			
		||||
package com.example;
 | 
			
		||||
 | 
			
		||||
import com.facebook.react.ReactActivity;
 | 
			
		||||
 | 
			
		||||
public class MainActivity extends ReactActivity {
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Returns the name of the main component registered from JavaScript. This is used to schedule
 | 
			
		||||
   * rendering of the component.
 | 
			
		||||
   */
 | 
			
		||||
  @Override
 | 
			
		||||
  protected String getMainComponentName() {
 | 
			
		||||
    return "example";
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,80 @@
 | 
			
		||||
package com.example;
 | 
			
		||||
 | 
			
		||||
import android.app.Application;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import com.facebook.react.PackageList;
 | 
			
		||||
import com.facebook.react.ReactApplication;
 | 
			
		||||
import com.facebook.react.ReactInstanceManager;
 | 
			
		||||
import com.facebook.react.ReactNativeHost;
 | 
			
		||||
import com.facebook.react.ReactPackage;
 | 
			
		||||
import com.facebook.soloader.SoLoader;
 | 
			
		||||
import java.lang.reflect.InvocationTargetException;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class MainApplication extends Application implements ReactApplication {
 | 
			
		||||
 | 
			
		||||
  private final ReactNativeHost mReactNativeHost =
 | 
			
		||||
      new ReactNativeHost(this) {
 | 
			
		||||
        @Override
 | 
			
		||||
        public boolean getUseDeveloperSupport() {
 | 
			
		||||
          return BuildConfig.DEBUG;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        protected List<ReactPackage> getPackages() {
 | 
			
		||||
          @SuppressWarnings("UnnecessaryLocalVariable")
 | 
			
		||||
          List<ReactPackage> packages = new PackageList(this).getPackages();
 | 
			
		||||
          // Packages that cannot be autolinked yet can be added manually here, for example:
 | 
			
		||||
          // packages.add(new MyReactNativePackage());
 | 
			
		||||
          return packages;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @Override
 | 
			
		||||
        protected String getJSMainModuleName() {
 | 
			
		||||
          return "index";
 | 
			
		||||
        }
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
  @Override
 | 
			
		||||
  public ReactNativeHost getReactNativeHost() {
 | 
			
		||||
    return mReactNativeHost;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Override
 | 
			
		||||
  public void onCreate() {
 | 
			
		||||
    super.onCreate();
 | 
			
		||||
    SoLoader.init(this, /* native exopackage */ false);
 | 
			
		||||
    initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Loads Flipper in React Native templates. Call this in the onCreate method with something like
 | 
			
		||||
   * initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
 | 
			
		||||
   *
 | 
			
		||||
   * @param context
 | 
			
		||||
   * @param reactInstanceManager
 | 
			
		||||
   */
 | 
			
		||||
  private static void initializeFlipper(
 | 
			
		||||
      Context context, ReactInstanceManager reactInstanceManager) {
 | 
			
		||||
    if (BuildConfig.DEBUG) {
 | 
			
		||||
      try {
 | 
			
		||||
        /*
 | 
			
		||||
         We use reflection here to pick up the class that initializes Flipper,
 | 
			
		||||
        since Flipper library is not available in release mode
 | 
			
		||||
        */
 | 
			
		||||
        Class<?> aClass = Class.forName("com.example.ReactNativeFlipper");
 | 
			
		||||
        aClass
 | 
			
		||||
            .getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
 | 
			
		||||
            .invoke(null, context, reactInstanceManager);
 | 
			
		||||
      } catch (ClassNotFoundException e) {
 | 
			
		||||
        e.printStackTrace();
 | 
			
		||||
      } catch (NoSuchMethodException e) {
 | 
			
		||||
        e.printStackTrace();
 | 
			
		||||
      } catch (IllegalAccessException e) {
 | 
			
		||||
        e.printStackTrace();
 | 
			
		||||
      } catch (InvocationTargetException e) {
 | 
			
		||||
        e.printStackTrace();
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.0 KiB  | 
| 
		 After Width: | Height: | Size: 4.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 2.0 KiB  | 
| 
		 After Width: | Height: | Size: 2.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 4.5 KiB  | 
| 
		 After Width: | Height: | Size: 6.9 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 6.3 KiB  | 
| 
		 After Width: | Height: | Size: 10 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 9.0 KiB  | 
| 
		 After Width: | Height: | Size: 15 KiB  | 
							
								
								
									
										3
									
								
								example/android/app/src/main/res/values/strings.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,3 @@
 | 
			
		||||
<resources>
 | 
			
		||||
    <string name="app_name">Wechat Pay</string>
 | 
			
		||||
</resources>
 | 
			
		||||
							
								
								
									
										9
									
								
								example/android/app/src/main/res/values/styles.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,9 @@
 | 
			
		||||
<resources>
 | 
			
		||||
 | 
			
		||||
    <!-- Base application theme. -->
 | 
			
		||||
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
 | 
			
		||||
        <!-- Customize your theme here. -->
 | 
			
		||||
        <item name="android:textColor">#000000</item>
 | 
			
		||||
    </style>
 | 
			
		||||
 | 
			
		||||
</resources>
 | 
			
		||||
							
								
								
									
										37
									
								
								example/android/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,37 @@
 | 
			
		||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
 | 
			
		||||
 | 
			
		||||
buildscript {
 | 
			
		||||
    ext {
 | 
			
		||||
        buildToolsVersion = "29.0.2"
 | 
			
		||||
        minSdkVersion = 16
 | 
			
		||||
        compileSdkVersion = 29
 | 
			
		||||
        targetSdkVersion = 29
 | 
			
		||||
    }
 | 
			
		||||
    repositories {
 | 
			
		||||
        google()
 | 
			
		||||
        jcenter()
 | 
			
		||||
    }
 | 
			
		||||
    dependencies {
 | 
			
		||||
        classpath("com.android.tools.build:gradle:3.5.3")
 | 
			
		||||
        // NOTE: Do not place your application dependencies here; they belong
 | 
			
		||||
        // in the individual module build.gradle files
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
allprojects {
 | 
			
		||||
    repositories {
 | 
			
		||||
        mavenLocal()
 | 
			
		||||
        maven {
 | 
			
		||||
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
 | 
			
		||||
            url("$rootDir/../node_modules/react-native/android")
 | 
			
		||||
        }
 | 
			
		||||
        maven {
 | 
			
		||||
            // Android JSC is installed from npm
 | 
			
		||||
            url("$rootDir/../node_modules/jsc-android/dist")
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        google()
 | 
			
		||||
        jcenter()
 | 
			
		||||
        maven { url 'https://www.jitpack.io' }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										28
									
								
								example/android/gradle.properties
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,28 @@
 | 
			
		||||
# Project-wide Gradle settings.
 | 
			
		||||
 | 
			
		||||
# IDE (e.g. Android Studio) users:
 | 
			
		||||
# Gradle settings configured through the IDE *will override*
 | 
			
		||||
# any settings specified in this file.
 | 
			
		||||
 | 
			
		||||
# For more details on how to configure your build environment visit
 | 
			
		||||
# http://www.gradle.org/docs/current/userguide/build_environment.html
 | 
			
		||||
 | 
			
		||||
# Specifies the JVM arguments used for the daemon process.
 | 
			
		||||
# The setting is particularly useful for tweaking memory settings.
 | 
			
		||||
# Default value: -Xmx10248m -XX:MaxPermSize=256m
 | 
			
		||||
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
 | 
			
		||||
 | 
			
		||||
# When configured, Gradle will run in incubating parallel mode.
 | 
			
		||||
# This option should only be used with decoupled projects. More details, visit
 | 
			
		||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 | 
			
		||||
# org.gradle.parallel=true
 | 
			
		||||
 | 
			
		||||
# AndroidX package structure to make it clearer which packages are bundled with the
 | 
			
		||||
# Android operating system, and which are packaged with your app's APK
 | 
			
		||||
# https://developer.android.com/topic/libraries/support-library/androidx-rn
 | 
			
		||||
android.useAndroidX=true
 | 
			
		||||
# Automatically convert third-party libraries to use AndroidX
 | 
			
		||||
android.enableJetifier=true
 | 
			
		||||
 | 
			
		||||
# Version of flipper SDK to use with React Native
 | 
			
		||||
FLIPPER_VERSION=0.37.0
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								example/android/gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										5
									
								
								example/android/gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
			
		||||
distributionBase=GRADLE_USER_HOME
 | 
			
		||||
distributionPath=wrapper/dists
 | 
			
		||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
 | 
			
		||||
zipStoreBase=GRADLE_USER_HOME
 | 
			
		||||
zipStorePath=wrapper/dists
 | 
			
		||||
							
								
								
									
										183
									
								
								example/android/gradlew
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,183 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Copyright 2015 the original author or authors.
 | 
			
		||||
#
 | 
			
		||||
# Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
# you may not use this file except in compliance with the License.
 | 
			
		||||
# You may obtain a copy of the License at
 | 
			
		||||
#
 | 
			
		||||
#      https://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
#
 | 
			
		||||
# Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
# distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
# See the License for the specific language governing permissions and
 | 
			
		||||
# limitations under the License.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
##
 | 
			
		||||
##  Gradle start up script for UN*X
 | 
			
		||||
##
 | 
			
		||||
##############################################################################
 | 
			
		||||
 | 
			
		||||
# Attempt to set APP_HOME
 | 
			
		||||
# Resolve links: $0 may be a link
 | 
			
		||||
PRG="$0"
 | 
			
		||||
# Need this for relative symlinks.
 | 
			
		||||
while [ -h "$PRG" ] ; do
 | 
			
		||||
    ls=`ls -ld "$PRG"`
 | 
			
		||||
    link=`expr "$ls" : '.*-> \(.*\)$'`
 | 
			
		||||
    if expr "$link" : '/.*' > /dev/null; then
 | 
			
		||||
        PRG="$link"
 | 
			
		||||
    else
 | 
			
		||||
        PRG=`dirname "$PRG"`"/$link"
 | 
			
		||||
    fi
 | 
			
		||||
done
 | 
			
		||||
SAVED="`pwd`"
 | 
			
		||||
cd "`dirname \"$PRG\"`/" >/dev/null
 | 
			
		||||
APP_HOME="`pwd -P`"
 | 
			
		||||
cd "$SAVED" >/dev/null
 | 
			
		||||
 | 
			
		||||
APP_NAME="Gradle"
 | 
			
		||||
APP_BASE_NAME=`basename "$0"`
 | 
			
		||||
 | 
			
		||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
 | 
			
		||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
 | 
			
		||||
 | 
			
		||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
 | 
			
		||||
MAX_FD="maximum"
 | 
			
		||||
 | 
			
		||||
warn () {
 | 
			
		||||
    echo "$*"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
die () {
 | 
			
		||||
    echo
 | 
			
		||||
    echo "$*"
 | 
			
		||||
    echo
 | 
			
		||||
    exit 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# OS specific support (must be 'true' or 'false').
 | 
			
		||||
cygwin=false
 | 
			
		||||
msys=false
 | 
			
		||||
darwin=false
 | 
			
		||||
nonstop=false
 | 
			
		||||
case "`uname`" in
 | 
			
		||||
  CYGWIN* )
 | 
			
		||||
    cygwin=true
 | 
			
		||||
    ;;
 | 
			
		||||
  Darwin* )
 | 
			
		||||
    darwin=true
 | 
			
		||||
    ;;
 | 
			
		||||
  MINGW* )
 | 
			
		||||
    msys=true
 | 
			
		||||
    ;;
 | 
			
		||||
  NONSTOP* )
 | 
			
		||||
    nonstop=true
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 | 
			
		||||
 | 
			
		||||
# Determine the Java command to use to start the JVM.
 | 
			
		||||
if [ -n "$JAVA_HOME" ] ; then
 | 
			
		||||
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
 | 
			
		||||
        # IBM's JDK on AIX uses strange locations for the executables
 | 
			
		||||
        JAVACMD="$JAVA_HOME/jre/sh/java"
 | 
			
		||||
    else
 | 
			
		||||
        JAVACMD="$JAVA_HOME/bin/java"
 | 
			
		||||
    fi
 | 
			
		||||
    if [ ! -x "$JAVACMD" ] ; then
 | 
			
		||||
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
 | 
			
		||||
 | 
			
		||||
Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
location of your Java installation."
 | 
			
		||||
    fi
 | 
			
		||||
else
 | 
			
		||||
    JAVACMD="java"
 | 
			
		||||
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
 | 
			
		||||
 | 
			
		||||
Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
location of your Java installation."
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Increase the maximum file descriptors if we can.
 | 
			
		||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
 | 
			
		||||
    MAX_FD_LIMIT=`ulimit -H -n`
 | 
			
		||||
    if [ $? -eq 0 ] ; then
 | 
			
		||||
        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
 | 
			
		||||
            MAX_FD="$MAX_FD_LIMIT"
 | 
			
		||||
        fi
 | 
			
		||||
        ulimit -n $MAX_FD
 | 
			
		||||
        if [ $? -ne 0 ] ; then
 | 
			
		||||
            warn "Could not set maximum file descriptor limit: $MAX_FD"
 | 
			
		||||
        fi
 | 
			
		||||
    else
 | 
			
		||||
        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# For Darwin, add options to specify how the application appears in the dock
 | 
			
		||||
if $darwin; then
 | 
			
		||||
    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# For Cygwin or MSYS, switch paths to Windows format before running java
 | 
			
		||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
 | 
			
		||||
    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
 | 
			
		||||
    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
 | 
			
		||||
    JAVACMD=`cygpath --unix "$JAVACMD"`
 | 
			
		||||
 | 
			
		||||
    # We build the pattern for arguments to be converted via cygpath
 | 
			
		||||
    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
 | 
			
		||||
    SEP=""
 | 
			
		||||
    for dir in $ROOTDIRSRAW ; do
 | 
			
		||||
        ROOTDIRS="$ROOTDIRS$SEP$dir"
 | 
			
		||||
        SEP="|"
 | 
			
		||||
    done
 | 
			
		||||
    OURCYGPATTERN="(^($ROOTDIRS))"
 | 
			
		||||
    # Add a user-defined pattern to the cygpath arguments
 | 
			
		||||
    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
 | 
			
		||||
        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
 | 
			
		||||
    fi
 | 
			
		||||
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
 | 
			
		||||
    i=0
 | 
			
		||||
    for arg in "$@" ; do
 | 
			
		||||
        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
 | 
			
		||||
        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
 | 
			
		||||
 | 
			
		||||
        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
 | 
			
		||||
            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
 | 
			
		||||
        else
 | 
			
		||||
            eval `echo args$i`="\"$arg\""
 | 
			
		||||
        fi
 | 
			
		||||
        i=`expr $i + 1`
 | 
			
		||||
    done
 | 
			
		||||
    case $i in
 | 
			
		||||
        0) set -- ;;
 | 
			
		||||
        1) set -- "$args0" ;;
 | 
			
		||||
        2) set -- "$args0" "$args1" ;;
 | 
			
		||||
        3) set -- "$args0" "$args1" "$args2" ;;
 | 
			
		||||
        4) set -- "$args0" "$args1" "$args2" "$args3" ;;
 | 
			
		||||
        5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
 | 
			
		||||
        6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
 | 
			
		||||
        7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
 | 
			
		||||
        8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
 | 
			
		||||
        9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
 | 
			
		||||
    esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Escape application args
 | 
			
		||||
save () {
 | 
			
		||||
    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
 | 
			
		||||
    echo " "
 | 
			
		||||
}
 | 
			
		||||
APP_ARGS=`save "$@"`
 | 
			
		||||
 | 
			
		||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
 | 
			
		||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
 | 
			
		||||
 | 
			
		||||
exec "$JAVACMD" "$@"
 | 
			
		||||
							
								
								
									
										103
									
								
								example/android/gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,103 @@
 | 
			
		||||
@rem
 | 
			
		||||
@rem Copyright 2015 the original author or authors.
 | 
			
		||||
@rem
 | 
			
		||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
@rem you may not use this file except in compliance with the License.
 | 
			
		||||
@rem You may obtain a copy of the License at
 | 
			
		||||
@rem
 | 
			
		||||
@rem      https://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
@rem
 | 
			
		||||
@rem Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
@rem See the License for the specific language governing permissions and
 | 
			
		||||
@rem limitations under the License.
 | 
			
		||||
@rem
 | 
			
		||||
 | 
			
		||||
@if "%DEBUG%" == "" @echo off
 | 
			
		||||
@rem ##########################################################################
 | 
			
		||||
@rem
 | 
			
		||||
@rem  Gradle startup script for Windows
 | 
			
		||||
@rem
 | 
			
		||||
@rem ##########################################################################
 | 
			
		||||
 | 
			
		||||
@rem Set local scope for the variables with windows NT shell
 | 
			
		||||
if "%OS%"=="Windows_NT" setlocal
 | 
			
		||||
 | 
			
		||||
set DIRNAME=%~dp0
 | 
			
		||||
if "%DIRNAME%" == "" set DIRNAME=.
 | 
			
		||||
set APP_BASE_NAME=%~n0
 | 
			
		||||
set APP_HOME=%DIRNAME%
 | 
			
		||||
 | 
			
		||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
 | 
			
		||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
 | 
			
		||||
 | 
			
		||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
 | 
			
		||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
 | 
			
		||||
 | 
			
		||||
@rem Find java.exe
 | 
			
		||||
if defined JAVA_HOME goto findJavaFromJavaHome
 | 
			
		||||
 | 
			
		||||
set JAVA_EXE=java.exe
 | 
			
		||||
%JAVA_EXE% -version >NUL 2>&1
 | 
			
		||||
if "%ERRORLEVEL%" == "0" goto init
 | 
			
		||||
 | 
			
		||||
echo.
 | 
			
		||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
 | 
			
		||||
echo.
 | 
			
		||||
echo Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
echo location of your Java installation.
 | 
			
		||||
 | 
			
		||||
goto fail
 | 
			
		||||
 | 
			
		||||
:findJavaFromJavaHome
 | 
			
		||||
set JAVA_HOME=%JAVA_HOME:"=%
 | 
			
		||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
 | 
			
		||||
 | 
			
		||||
if exist "%JAVA_EXE%" goto init
 | 
			
		||||
 | 
			
		||||
echo.
 | 
			
		||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
 | 
			
		||||
echo.
 | 
			
		||||
echo Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
echo location of your Java installation.
 | 
			
		||||
 | 
			
		||||
goto fail
 | 
			
		||||
 | 
			
		||||
:init
 | 
			
		||||
@rem Get command-line arguments, handling Windows variants
 | 
			
		||||
 | 
			
		||||
if not "%OS%" == "Windows_NT" goto win9xME_args
 | 
			
		||||
 | 
			
		||||
:win9xME_args
 | 
			
		||||
@rem Slurp the command line arguments.
 | 
			
		||||
set CMD_LINE_ARGS=
 | 
			
		||||
set _SKIP=2
 | 
			
		||||
 | 
			
		||||
:win9xME_args_slurp
 | 
			
		||||
if "x%~1" == "x" goto execute
 | 
			
		||||
 | 
			
		||||
set CMD_LINE_ARGS=%*
 | 
			
		||||
 | 
			
		||||
:execute
 | 
			
		||||
@rem Setup the command line
 | 
			
		||||
 | 
			
		||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
 | 
			
		||||
 | 
			
		||||
@rem Execute Gradle
 | 
			
		||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
 | 
			
		||||
 | 
			
		||||
:end
 | 
			
		||||
@rem End local scope for the variables with windows NT shell
 | 
			
		||||
if "%ERRORLEVEL%"=="0" goto mainEnd
 | 
			
		||||
 | 
			
		||||
:fail
 | 
			
		||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
 | 
			
		||||
rem the _cmd.exe /c_ return code!
 | 
			
		||||
if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
 | 
			
		||||
exit /b 1
 | 
			
		||||
 | 
			
		||||
:mainEnd
 | 
			
		||||
if "%OS%"=="Windows_NT" endlocal
 | 
			
		||||
 | 
			
		||||
:omega
 | 
			
		||||
							
								
								
									
										3
									
								
								example/android/settings.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,3 @@
 | 
			
		||||
rootProject.name = 'example'
 | 
			
		||||
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
 | 
			
		||||
include ':app'
 | 
			
		||||
							
								
								
									
										4
									
								
								example/app.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "example",
 | 
			
		||||
  "displayName": "example"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										3
									
								
								example/babel.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,3 @@
 | 
			
		||||
module.exports = {
 | 
			
		||||
  presets: ['module:metro-react-native-babel-preset'],
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										9
									
								
								example/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,9 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @format
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import {AppRegistry} from 'react-native';
 | 
			
		||||
import App from './App';
 | 
			
		||||
import {name as appName} from './app.json';
 | 
			
		||||
 | 
			
		||||
AppRegistry.registerComponent(appName, () => App);
 | 
			
		||||
							
								
								
									
										33
									
								
								example/ios/Podfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,33 @@
 | 
			
		||||
require_relative '../node_modules/react-native/scripts/react_native_pods'
 | 
			
		||||
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
 | 
			
		||||
 | 
			
		||||
platform :ios, '10.0'
 | 
			
		||||
 | 
			
		||||
target 'example' do
 | 
			
		||||
  config = use_native_modules!
 | 
			
		||||
 | 
			
		||||
  use_react_native!(:path => config["reactNativePath"])
 | 
			
		||||
 | 
			
		||||
  target 'exampleTests' do
 | 
			
		||||
    inherit! :complete
 | 
			
		||||
    # Pods for testing
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # Enables Flipper.
 | 
			
		||||
  #
 | 
			
		||||
  # Note that if you have use_frameworks! enabled, Flipper will not work and
 | 
			
		||||
  # you should disable these next few lines.
 | 
			
		||||
  use_flipper!
 | 
			
		||||
  post_install do |installer|
 | 
			
		||||
    flipper_post_install(installer)
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
target 'example-tvOS' do
 | 
			
		||||
  # Pods for example-tvOS
 | 
			
		||||
 | 
			
		||||
  target 'example-tvOSTests' do
 | 
			
		||||
    inherit! :search_paths
 | 
			
		||||
    # Pods for testing
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										463
									
								
								example/ios/Podfile.lock
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,463 @@
 | 
			
		||||
PODS:
 | 
			
		||||
  - boost-for-react-native (1.63.0)
 | 
			
		||||
  - CocoaAsyncSocket (7.6.4)
 | 
			
		||||
  - CocoaLibEvent (1.0.0)
 | 
			
		||||
  - DoubleConversion (1.1.6)
 | 
			
		||||
  - FBLazyVector (0.63.2)
 | 
			
		||||
  - FBReactNativeSpec (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - RCTRequired (= 0.63.2)
 | 
			
		||||
    - RCTTypeSafety (= 0.63.2)
 | 
			
		||||
    - React-Core (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - ReactCommon/turbomodule/core (= 0.63.2)
 | 
			
		||||
  - Flipper (0.41.5):
 | 
			
		||||
    - Flipper-Folly (~> 2.2)
 | 
			
		||||
    - Flipper-RSocket (~> 1.1)
 | 
			
		||||
  - Flipper-DoubleConversion (1.1.7)
 | 
			
		||||
  - Flipper-Folly (2.2.0):
 | 
			
		||||
    - boost-for-react-native
 | 
			
		||||
    - CocoaLibEvent (~> 1.0)
 | 
			
		||||
    - Flipper-DoubleConversion
 | 
			
		||||
    - Flipper-Glog
 | 
			
		||||
    - OpenSSL-Universal (= 1.0.2.19)
 | 
			
		||||
  - Flipper-Glog (0.3.6)
 | 
			
		||||
  - Flipper-PeerTalk (0.0.4)
 | 
			
		||||
  - Flipper-RSocket (1.1.0):
 | 
			
		||||
    - Flipper-Folly (~> 2.2)
 | 
			
		||||
  - FlipperKit (0.41.5):
 | 
			
		||||
    - FlipperKit/Core (= 0.41.5)
 | 
			
		||||
  - FlipperKit/Core (0.41.5):
 | 
			
		||||
    - Flipper (~> 0.41.5)
 | 
			
		||||
    - FlipperKit/CppBridge
 | 
			
		||||
    - FlipperKit/FBCxxFollyDynamicConvert
 | 
			
		||||
    - FlipperKit/FBDefines
 | 
			
		||||
    - FlipperKit/FKPortForwarding
 | 
			
		||||
  - FlipperKit/CppBridge (0.41.5):
 | 
			
		||||
    - Flipper (~> 0.41.5)
 | 
			
		||||
  - FlipperKit/FBCxxFollyDynamicConvert (0.41.5):
 | 
			
		||||
    - Flipper-Folly (~> 2.2)
 | 
			
		||||
  - FlipperKit/FBDefines (0.41.5)
 | 
			
		||||
  - FlipperKit/FKPortForwarding (0.41.5):
 | 
			
		||||
    - CocoaAsyncSocket (~> 7.6)
 | 
			
		||||
    - Flipper-PeerTalk (~> 0.0.4)
 | 
			
		||||
  - FlipperKit/FlipperKitHighlightOverlay (0.41.5)
 | 
			
		||||
  - FlipperKit/FlipperKitLayoutPlugin (0.41.5):
 | 
			
		||||
    - FlipperKit/Core
 | 
			
		||||
    - FlipperKit/FlipperKitHighlightOverlay
 | 
			
		||||
    - FlipperKit/FlipperKitLayoutTextSearchable
 | 
			
		||||
    - YogaKit (~> 1.18)
 | 
			
		||||
  - FlipperKit/FlipperKitLayoutTextSearchable (0.41.5)
 | 
			
		||||
  - FlipperKit/FlipperKitNetworkPlugin (0.41.5):
 | 
			
		||||
    - FlipperKit/Core
 | 
			
		||||
  - FlipperKit/FlipperKitReactPlugin (0.41.5):
 | 
			
		||||
    - FlipperKit/Core
 | 
			
		||||
  - FlipperKit/FlipperKitUserDefaultsPlugin (0.41.5):
 | 
			
		||||
    - FlipperKit/Core
 | 
			
		||||
  - FlipperKit/SKIOSNetworkPlugin (0.41.5):
 | 
			
		||||
    - FlipperKit/Core
 | 
			
		||||
    - FlipperKit/FlipperKitNetworkPlugin
 | 
			
		||||
  - Folly (2020.01.13.00):
 | 
			
		||||
    - boost-for-react-native
 | 
			
		||||
    - DoubleConversion
 | 
			
		||||
    - Folly/Default (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
  - Folly/Default (2020.01.13.00):
 | 
			
		||||
    - boost-for-react-native
 | 
			
		||||
    - DoubleConversion
 | 
			
		||||
    - glog
 | 
			
		||||
  - glog (0.3.5)
 | 
			
		||||
  - OpenSSL-Universal (1.0.2.19):
 | 
			
		||||
    - OpenSSL-Universal/Static (= 1.0.2.19)
 | 
			
		||||
  - OpenSSL-Universal/Static (1.0.2.19)
 | 
			
		||||
  - RCTRequired (0.63.2)
 | 
			
		||||
  - RCTTypeSafety (0.63.2):
 | 
			
		||||
    - FBLazyVector (= 0.63.2)
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - RCTRequired (= 0.63.2)
 | 
			
		||||
    - React-Core (= 0.63.2)
 | 
			
		||||
  - React (0.63.2):
 | 
			
		||||
    - React-Core (= 0.63.2)
 | 
			
		||||
    - React-Core/DevSupport (= 0.63.2)
 | 
			
		||||
    - React-Core/RCTWebSocket (= 0.63.2)
 | 
			
		||||
    - React-RCTActionSheet (= 0.63.2)
 | 
			
		||||
    - React-RCTAnimation (= 0.63.2)
 | 
			
		||||
    - React-RCTBlob (= 0.63.2)
 | 
			
		||||
    - React-RCTImage (= 0.63.2)
 | 
			
		||||
    - React-RCTLinking (= 0.63.2)
 | 
			
		||||
    - React-RCTNetwork (= 0.63.2)
 | 
			
		||||
    - React-RCTSettings (= 0.63.2)
 | 
			
		||||
    - React-RCTText (= 0.63.2)
 | 
			
		||||
    - React-RCTVibration (= 0.63.2)
 | 
			
		||||
  - React-callinvoker (0.63.2)
 | 
			
		||||
  - React-Core (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default (= 0.63.2)
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/CoreModulesHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/Default (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/DevSupport (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default (= 0.63.2)
 | 
			
		||||
    - React-Core/RCTWebSocket (= 0.63.2)
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - React-jsinspector (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTActionSheetHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTAnimationHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTBlobHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTImageHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTLinkingHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTNetworkHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTSettingsHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTTextHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTVibrationHeaders (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-Core/RCTWebSocket (0.63.2):
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-Core/Default (= 0.63.2)
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-jsiexecutor (= 0.63.2)
 | 
			
		||||
    - Yoga
 | 
			
		||||
  - React-CoreModules (0.63.2):
 | 
			
		||||
    - FBReactNativeSpec (= 0.63.2)
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - RCTTypeSafety (= 0.63.2)
 | 
			
		||||
    - React-Core/CoreModulesHeaders (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-RCTImage (= 0.63.2)
 | 
			
		||||
    - ReactCommon/turbomodule/core (= 0.63.2)
 | 
			
		||||
  - React-cxxreact (0.63.2):
 | 
			
		||||
    - boost-for-react-native (= 1.63.0)
 | 
			
		||||
    - DoubleConversion
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-callinvoker (= 0.63.2)
 | 
			
		||||
    - React-jsinspector (= 0.63.2)
 | 
			
		||||
  - React-jsi (0.63.2):
 | 
			
		||||
    - boost-for-react-native (= 1.63.0)
 | 
			
		||||
    - DoubleConversion
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-jsi/Default (= 0.63.2)
 | 
			
		||||
  - React-jsi/Default (0.63.2):
 | 
			
		||||
    - boost-for-react-native (= 1.63.0)
 | 
			
		||||
    - DoubleConversion
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
  - React-jsiexecutor (0.63.2):
 | 
			
		||||
    - DoubleConversion
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
  - React-jsinspector (0.63.2)
 | 
			
		||||
  - React-RCTActionSheet (0.63.2):
 | 
			
		||||
    - React-Core/RCTActionSheetHeaders (= 0.63.2)
 | 
			
		||||
  - React-RCTAnimation (0.63.2):
 | 
			
		||||
    - FBReactNativeSpec (= 0.63.2)
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - RCTTypeSafety (= 0.63.2)
 | 
			
		||||
    - React-Core/RCTAnimationHeaders (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - ReactCommon/turbomodule/core (= 0.63.2)
 | 
			
		||||
  - React-RCTBlob (0.63.2):
 | 
			
		||||
    - FBReactNativeSpec (= 0.63.2)
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - React-Core/RCTBlobHeaders (= 0.63.2)
 | 
			
		||||
    - React-Core/RCTWebSocket (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-RCTNetwork (= 0.63.2)
 | 
			
		||||
    - ReactCommon/turbomodule/core (= 0.63.2)
 | 
			
		||||
  - React-RCTImage (0.63.2):
 | 
			
		||||
    - FBReactNativeSpec (= 0.63.2)
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - RCTTypeSafety (= 0.63.2)
 | 
			
		||||
    - React-Core/RCTImageHeaders (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - React-RCTNetwork (= 0.63.2)
 | 
			
		||||
    - ReactCommon/turbomodule/core (= 0.63.2)
 | 
			
		||||
  - React-RCTLinking (0.63.2):
 | 
			
		||||
    - FBReactNativeSpec (= 0.63.2)
 | 
			
		||||
    - React-Core/RCTLinkingHeaders (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - ReactCommon/turbomodule/core (= 0.63.2)
 | 
			
		||||
  - React-RCTNetwork (0.63.2):
 | 
			
		||||
    - FBReactNativeSpec (= 0.63.2)
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - RCTTypeSafety (= 0.63.2)
 | 
			
		||||
    - React-Core/RCTNetworkHeaders (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - ReactCommon/turbomodule/core (= 0.63.2)
 | 
			
		||||
  - React-RCTSettings (0.63.2):
 | 
			
		||||
    - FBReactNativeSpec (= 0.63.2)
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - RCTTypeSafety (= 0.63.2)
 | 
			
		||||
    - React-Core/RCTSettingsHeaders (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - ReactCommon/turbomodule/core (= 0.63.2)
 | 
			
		||||
  - React-RCTText (0.63.2):
 | 
			
		||||
    - React-Core/RCTTextHeaders (= 0.63.2)
 | 
			
		||||
  - React-RCTVibration (0.63.2):
 | 
			
		||||
    - FBReactNativeSpec (= 0.63.2)
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - React-Core/RCTVibrationHeaders (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
    - ReactCommon/turbomodule/core (= 0.63.2)
 | 
			
		||||
  - ReactCommon/turbomodule/core (0.63.2):
 | 
			
		||||
    - DoubleConversion
 | 
			
		||||
    - Folly (= 2020.01.13.00)
 | 
			
		||||
    - glog
 | 
			
		||||
    - React-callinvoker (= 0.63.2)
 | 
			
		||||
    - React-Core (= 0.63.2)
 | 
			
		||||
    - React-cxxreact (= 0.63.2)
 | 
			
		||||
    - React-jsi (= 0.63.2)
 | 
			
		||||
  - Yoga (1.14.0)
 | 
			
		||||
  - YogaKit (1.18.1):
 | 
			
		||||
    - Yoga (~> 1.14)
 | 
			
		||||
 | 
			
		||||
DEPENDENCIES:
 | 
			
		||||
  - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
 | 
			
		||||
  - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
 | 
			
		||||
  - FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec`)
 | 
			
		||||
  - Flipper (~> 0.41.1)
 | 
			
		||||
  - Flipper-DoubleConversion (= 1.1.7)
 | 
			
		||||
  - Flipper-Folly (~> 2.2)
 | 
			
		||||
  - Flipper-Glog (= 0.3.6)
 | 
			
		||||
  - Flipper-PeerTalk (~> 0.0.4)
 | 
			
		||||
  - Flipper-RSocket (~> 1.1)
 | 
			
		||||
  - FlipperKit (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/Core (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/CppBridge (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/FBCxxFollyDynamicConvert (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/FBDefines (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/FKPortForwarding (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/FlipperKitHighlightOverlay (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/FlipperKitLayoutPlugin (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/FlipperKitLayoutTextSearchable (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/FlipperKitNetworkPlugin (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/FlipperKitReactPlugin (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/FlipperKitUserDefaultsPlugin (~> 0.41.1)
 | 
			
		||||
  - FlipperKit/SKIOSNetworkPlugin (~> 0.41.1)
 | 
			
		||||
  - Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
 | 
			
		||||
  - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
 | 
			
		||||
  - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
 | 
			
		||||
  - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
 | 
			
		||||
  - React (from `../node_modules/react-native/`)
 | 
			
		||||
  - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
 | 
			
		||||
  - React-Core (from `../node_modules/react-native/`)
 | 
			
		||||
  - React-Core/DevSupport (from `../node_modules/react-native/`)
 | 
			
		||||
  - React-Core/RCTWebSocket (from `../node_modules/react-native/`)
 | 
			
		||||
  - React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
 | 
			
		||||
  - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
 | 
			
		||||
  - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
 | 
			
		||||
  - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
 | 
			
		||||
  - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
 | 
			
		||||
  - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
 | 
			
		||||
  - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
 | 
			
		||||
  - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
 | 
			
		||||
  - React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
 | 
			
		||||
  - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
 | 
			
		||||
  - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`)
 | 
			
		||||
  - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
 | 
			
		||||
  - React-RCTText (from `../node_modules/react-native/Libraries/Text`)
 | 
			
		||||
  - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
 | 
			
		||||
  - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
 | 
			
		||||
  - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
 | 
			
		||||
 | 
			
		||||
SPEC REPOS:
 | 
			
		||||
  trunk:
 | 
			
		||||
    - boost-for-react-native
 | 
			
		||||
    - CocoaAsyncSocket
 | 
			
		||||
    - CocoaLibEvent
 | 
			
		||||
    - Flipper
 | 
			
		||||
    - Flipper-DoubleConversion
 | 
			
		||||
    - Flipper-Folly
 | 
			
		||||
    - Flipper-Glog
 | 
			
		||||
    - Flipper-PeerTalk
 | 
			
		||||
    - Flipper-RSocket
 | 
			
		||||
    - FlipperKit
 | 
			
		||||
    - OpenSSL-Universal
 | 
			
		||||
    - YogaKit
 | 
			
		||||
 | 
			
		||||
EXTERNAL SOURCES:
 | 
			
		||||
  DoubleConversion:
 | 
			
		||||
    :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
 | 
			
		||||
  FBLazyVector:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/FBLazyVector"
 | 
			
		||||
  FBReactNativeSpec:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/FBReactNativeSpec"
 | 
			
		||||
  Folly:
 | 
			
		||||
    :podspec: "../node_modules/react-native/third-party-podspecs/Folly.podspec"
 | 
			
		||||
  glog:
 | 
			
		||||
    :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
 | 
			
		||||
  RCTRequired:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/RCTRequired"
 | 
			
		||||
  RCTTypeSafety:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/TypeSafety"
 | 
			
		||||
  React:
 | 
			
		||||
    :path: "../node_modules/react-native/"
 | 
			
		||||
  React-callinvoker:
 | 
			
		||||
    :path: "../node_modules/react-native/ReactCommon/callinvoker"
 | 
			
		||||
  React-Core:
 | 
			
		||||
    :path: "../node_modules/react-native/"
 | 
			
		||||
  React-CoreModules:
 | 
			
		||||
    :path: "../node_modules/react-native/React/CoreModules"
 | 
			
		||||
  React-cxxreact:
 | 
			
		||||
    :path: "../node_modules/react-native/ReactCommon/cxxreact"
 | 
			
		||||
  React-jsi:
 | 
			
		||||
    :path: "../node_modules/react-native/ReactCommon/jsi"
 | 
			
		||||
  React-jsiexecutor:
 | 
			
		||||
    :path: "../node_modules/react-native/ReactCommon/jsiexecutor"
 | 
			
		||||
  React-jsinspector:
 | 
			
		||||
    :path: "../node_modules/react-native/ReactCommon/jsinspector"
 | 
			
		||||
  React-RCTActionSheet:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/ActionSheetIOS"
 | 
			
		||||
  React-RCTAnimation:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/NativeAnimation"
 | 
			
		||||
  React-RCTBlob:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/Blob"
 | 
			
		||||
  React-RCTImage:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/Image"
 | 
			
		||||
  React-RCTLinking:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/LinkingIOS"
 | 
			
		||||
  React-RCTNetwork:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/Network"
 | 
			
		||||
  React-RCTSettings:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/Settings"
 | 
			
		||||
  React-RCTText:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/Text"
 | 
			
		||||
  React-RCTVibration:
 | 
			
		||||
    :path: "../node_modules/react-native/Libraries/Vibration"
 | 
			
		||||
  ReactCommon:
 | 
			
		||||
    :path: "../node_modules/react-native/ReactCommon"
 | 
			
		||||
  Yoga:
 | 
			
		||||
    :path: "../node_modules/react-native/ReactCommon/yoga"
 | 
			
		||||
 | 
			
		||||
SPEC CHECKSUMS:
 | 
			
		||||
  boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
 | 
			
		||||
  CocoaAsyncSocket: 694058e7c0ed05a9e217d1b3c7ded962f4180845
 | 
			
		||||
  CocoaLibEvent: 2fab71b8bd46dd33ddb959f7928ec5909f838e3f
 | 
			
		||||
  DoubleConversion: cde416483dac037923206447da6e1454df403714
 | 
			
		||||
  FBLazyVector: 3ef4a7f62e7db01092f9d517d2ebc0d0677c4a37
 | 
			
		||||
  FBReactNativeSpec: dc7fa9088f0f2a998503a352b0554d69a4391c5a
 | 
			
		||||
  Flipper: 33585e2d9810fe5528346be33bcf71b37bb7ae13
 | 
			
		||||
  Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41
 | 
			
		||||
  Flipper-Folly: c12092ea368353b58e992843a990a3225d4533c3
 | 
			
		||||
  Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6
 | 
			
		||||
  Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9
 | 
			
		||||
  Flipper-RSocket: 64e7431a55835eb953b0bf984ef3b90ae9fdddd7
 | 
			
		||||
  FlipperKit: bc68102cd4952a258a23c9c1b316c7bec1fecf83
 | 
			
		||||
  Folly: b73c3869541e86821df3c387eb0af5f65addfab4
 | 
			
		||||
  glog: 40a13f7840415b9a77023fbcae0f1e6f43192af3
 | 
			
		||||
  OpenSSL-Universal: 8b48cc0d10c1b2923617dfe5c178aa9ed2689355
 | 
			
		||||
  RCTRequired: f13f25e7b12f925f1f6a6a8c69d929a03c0129fe
 | 
			
		||||
  RCTTypeSafety: 44982c5c8e43ff4141eb519a8ddc88059acd1f3a
 | 
			
		||||
  React: e1c65dd41cb9db13b99f24608e47dd595f28ca9a
 | 
			
		||||
  React-callinvoker: 552a6a6bc8b3bb794cf108ad59e5a9e2e3b4fc98
 | 
			
		||||
  React-Core: 9d341e725dc9cd2f49e4c49ad1fc4e8776aa2639
 | 
			
		||||
  React-CoreModules: 5335e168165da7f7083ce7147768d36d3e292318
 | 
			
		||||
  React-cxxreact: d3261ec5f7d11743fbf21e263a34ea51d1f13ebc
 | 
			
		||||
  React-jsi: 54245e1d5f4b690dec614a73a3795964eeef13a8
 | 
			
		||||
  React-jsiexecutor: 8ca588cc921e70590820ce72b8789b02c67cce38
 | 
			
		||||
  React-jsinspector: b14e62ebe7a66e9231e9581279909f2fc3db6606
 | 
			
		||||
  React-RCTActionSheet: 910163b6b09685a35c4ebbc52b66d1bfbbe39fc5
 | 
			
		||||
  React-RCTAnimation: 9a883bbe1e9d2e158d4fb53765ed64c8dc2200c6
 | 
			
		||||
  React-RCTBlob: 39cf0ece1927996c4466510e25d2105f67010e13
 | 
			
		||||
  React-RCTImage: de355d738727b09ad3692f2a979affbd54b5f378
 | 
			
		||||
  React-RCTLinking: 8122f221d395a63364b2c0078ce284214bd04575
 | 
			
		||||
  React-RCTNetwork: 8f96c7b49ea6a0f28f98258f347b6ad218bc0830
 | 
			
		||||
  React-RCTSettings: 8a49622aff9c1925f5455fa340b6fe4853d64ab6
 | 
			
		||||
  React-RCTText: 1b6773e776e4b33f90468c20fe3b16ca3e224bb8
 | 
			
		||||
  React-RCTVibration: 4d2e726957f4087449739b595f107c0d4b6c2d2d
 | 
			
		||||
  ReactCommon: a0a1edbebcac5e91338371b72ffc66aa822792ce
 | 
			
		||||
  Yoga: 7740b94929bbacbddda59bf115b5317e9a161598
 | 
			
		||||
  YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
 | 
			
		||||
 | 
			
		||||
PODFILE CHECKSUM: 311cf87a4a33d759b7ec994ec3735e03d4ededbf
 | 
			
		||||
 | 
			
		||||
COCOAPODS: 1.9.3
 | 
			
		||||
							
								
								
									
										53
									
								
								example/ios/example-tvOS/Info.plist
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,53 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | 
			
		||||
<plist version="1.0">
 | 
			
		||||
<dict>
 | 
			
		||||
	<key>CFBundleDevelopmentRegion</key>
 | 
			
		||||
	<string>en</string>
 | 
			
		||||
	<key>CFBundleExecutable</key>
 | 
			
		||||
	<string>$(EXECUTABLE_NAME)</string>
 | 
			
		||||
	<key>CFBundleIdentifier</key>
 | 
			
		||||
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
 | 
			
		||||
	<key>CFBundleInfoDictionaryVersion</key>
 | 
			
		||||
	<string>6.0</string>
 | 
			
		||||
	<key>CFBundleName</key>
 | 
			
		||||
	<string>$(PRODUCT_NAME)</string>
 | 
			
		||||
	<key>CFBundlePackageType</key>
 | 
			
		||||
	<string>APPL</string>
 | 
			
		||||
	<key>CFBundleShortVersionString</key>
 | 
			
		||||
	<string>1.0</string>
 | 
			
		||||
	<key>CFBundleSignature</key>
 | 
			
		||||
	<string>????</string>
 | 
			
		||||
	<key>CFBundleVersion</key>
 | 
			
		||||
	<string>1</string>
 | 
			
		||||
	<key>LSRequiresIPhoneOS</key>
 | 
			
		||||
	<true/>
 | 
			
		||||
	<key>NSAppTransportSecurity</key>
 | 
			
		||||
	<dict>
 | 
			
		||||
		<key>NSExceptionDomains</key>
 | 
			
		||||
		<dict>
 | 
			
		||||
			<key>localhost</key>
 | 
			
		||||
			<dict>
 | 
			
		||||
				<key>NSExceptionAllowsInsecureHTTPLoads</key>
 | 
			
		||||
				<true/>
 | 
			
		||||
			</dict>
 | 
			
		||||
		</dict>
 | 
			
		||||
	</dict>
 | 
			
		||||
	<key>NSLocationWhenInUseUsageDescription</key>
 | 
			
		||||
	<string></string>
 | 
			
		||||
	<key>UILaunchStoryboardName</key>
 | 
			
		||||
	<string>LaunchScreen</string>
 | 
			
		||||
	<key>UIRequiredDeviceCapabilities</key>
 | 
			
		||||
	<array>
 | 
			
		||||
		<string>armv7</string>
 | 
			
		||||
	</array>
 | 
			
		||||
	<key>UISupportedInterfaceOrientations</key>
 | 
			
		||||
	<array>
 | 
			
		||||
		<string>UIInterfaceOrientationPortrait</string>
 | 
			
		||||
		<string>UIInterfaceOrientationLandscapeLeft</string>
 | 
			
		||||
		<string>UIInterfaceOrientationLandscapeRight</string>
 | 
			
		||||
	</array>
 | 
			
		||||
	<key>UIViewControllerBasedStatusBarAppearance</key>
 | 
			
		||||
	<false/>
 | 
			
		||||
</dict>
 | 
			
		||||
</plist>
 | 
			
		||||
							
								
								
									
										24
									
								
								example/ios/example-tvOSTests/Info.plist
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | 
			
		||||
<plist version="1.0">
 | 
			
		||||
<dict>
 | 
			
		||||
	<key>CFBundleDevelopmentRegion</key>
 | 
			
		||||
	<string>en</string>
 | 
			
		||||
	<key>CFBundleExecutable</key>
 | 
			
		||||
	<string>$(EXECUTABLE_NAME)</string>
 | 
			
		||||
	<key>CFBundleIdentifier</key>
 | 
			
		||||
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
 | 
			
		||||
	<key>CFBundleInfoDictionaryVersion</key>
 | 
			
		||||
	<string>6.0</string>
 | 
			
		||||
	<key>CFBundleName</key>
 | 
			
		||||
	<string>$(PRODUCT_NAME)</string>
 | 
			
		||||
	<key>CFBundlePackageType</key>
 | 
			
		||||
	<string>BNDL</string>
 | 
			
		||||
	<key>CFBundleShortVersionString</key>
 | 
			
		||||
	<string>1.0</string>
 | 
			
		||||
	<key>CFBundleSignature</key>
 | 
			
		||||
	<string>????</string>
 | 
			
		||||
	<key>CFBundleVersion</key>
 | 
			
		||||
	<string>1</string>
 | 
			
		||||
</dict>
 | 
			
		||||
</plist>
 | 
			
		||||
							
								
								
									
										970
									
								
								example/ios/example.xcodeproj/project.pbxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,970 @@
 | 
			
		||||
// !$*UTF8*$!
 | 
			
		||||
{
 | 
			
		||||
	archiveVersion = 1;
 | 
			
		||||
	classes = {
 | 
			
		||||
	};
 | 
			
		||||
	objectVersion = 46;
 | 
			
		||||
	objects = {
 | 
			
		||||
 | 
			
		||||
/* Begin PBXBuildFile section */
 | 
			
		||||
		00E356F31AD99517003FC87E /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; };
 | 
			
		||||
		13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
 | 
			
		||||
		13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
 | 
			
		||||
		13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
 | 
			
		||||
		2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
 | 
			
		||||
		2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
 | 
			
		||||
		2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
 | 
			
		||||
		2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; };
 | 
			
		||||
		570DD08EC1B88C09BD911FB2 /* libPods-example-exampleTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 75D43CC657AE13EB606A88D4 /* libPods-example-exampleTests.a */; };
 | 
			
		||||
		81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
 | 
			
		||||
		9449D8E870EEEA1280983069 /* libPods-example-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FF72D1ED3398B315E1A611C6 /* libPods-example-tvOS.a */; };
 | 
			
		||||
		AD33AD02DAD3C931A3561457 /* libPods-example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DE688222BA941BA9019FB103 /* libPods-example.a */; };
 | 
			
		||||
		C2D7620BFB1AD632BBF021E2 /* libPods-example-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B14C59F113B17643C1599005 /* libPods-example-tvOSTests.a */; };
 | 
			
		||||
/* End PBXBuildFile section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXContainerItemProxy section */
 | 
			
		||||
		00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
 | 
			
		||||
			isa = PBXContainerItemProxy;
 | 
			
		||||
			containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
 | 
			
		||||
			proxyType = 1;
 | 
			
		||||
			remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
 | 
			
		||||
			remoteInfo = example;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = {
 | 
			
		||||
			isa = PBXContainerItemProxy;
 | 
			
		||||
			containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
 | 
			
		||||
			proxyType = 1;
 | 
			
		||||
			remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7;
 | 
			
		||||
			remoteInfo = "example-tvOS";
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXContainerItemProxy section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXFileReference section */
 | 
			
		||||
		008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = "<group>"; };
 | 
			
		||||
		00E356EE1AD99517003FC87E /* exampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = exampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
		00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 | 
			
		||||
		00E356F21AD99517003FC87E /* exampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = exampleTests.m; sourceTree = "<group>"; };
 | 
			
		||||
		13B07F961A680F5B00A75B9A /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
		13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = example/AppDelegate.h; sourceTree = "<group>"; };
 | 
			
		||||
		13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = example/AppDelegate.m; sourceTree = "<group>"; };
 | 
			
		||||
		13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = example/Images.xcassets; sourceTree = "<group>"; };
 | 
			
		||||
		13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = example/Info.plist; sourceTree = "<group>"; };
 | 
			
		||||
		13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = example/main.m; sourceTree = "<group>"; };
 | 
			
		||||
		2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
		2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "example-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
		71108372967D2DF7DCD99BCF /* 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>"; };
 | 
			
		||||
		75D43CC657AE13EB606A88D4 /* libPods-example-exampleTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-exampleTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
		81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = example/LaunchScreen.storyboard; sourceTree = "<group>"; };
 | 
			
		||||
		8AD4667EA129381D1AA1195B /* 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>"; };
 | 
			
		||||
		909AA4FF29607443046F3676 /* 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>"; };
 | 
			
		||||
		B14C59F113B17643C1599005 /* libPods-example-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
		BBD565EB9C7A9497A48ECDEA /* 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>"; };
 | 
			
		||||
		C22BDD7188B56A02D6C7EA3E /* Pods-example-exampleTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.release.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.release.xcconfig"; sourceTree = "<group>"; };
 | 
			
		||||
		DE688222BA941BA9019FB103 /* libPods-example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
		E1ECC7F9ED2360AD27D88048 /* 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>"; };
 | 
			
		||||
		ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
 | 
			
		||||
		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; };
 | 
			
		||||
		F978DB4F2AF6C26CBA8E2BB5 /* Pods-example-exampleTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-example-exampleTests.debug.xcconfig"; path = "Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests.debug.xcconfig"; sourceTree = "<group>"; };
 | 
			
		||||
		F9805635668EB65D5CB9BEA4 /* 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>"; };
 | 
			
		||||
		FF72D1ED3398B315E1A611C6 /* libPods-example-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-example-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
/* End PBXFileReference section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXFrameworksBuildPhase section */
 | 
			
		||||
		00E356EB1AD99517003FC87E /* Frameworks */ = {
 | 
			
		||||
			isa = PBXFrameworksBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				570DD08EC1B88C09BD911FB2 /* libPods-example-exampleTests.a in Frameworks */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
 | 
			
		||||
			isa = PBXFrameworksBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				AD33AD02DAD3C931A3561457 /* libPods-example.a in Frameworks */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4781E0B4A5D006451C7 /* Frameworks */ = {
 | 
			
		||||
			isa = PBXFrameworksBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				9449D8E870EEEA1280983069 /* libPods-example-tvOS.a in Frameworks */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E48D1E0B4A5D006451C7 /* Frameworks */ = {
 | 
			
		||||
			isa = PBXFrameworksBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				C2D7620BFB1AD632BBF021E2 /* libPods-example-tvOSTests.a in Frameworks */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXFrameworksBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXGroup section */
 | 
			
		||||
		00E356EF1AD99517003FC87E /* exampleTests */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				00E356F21AD99517003FC87E /* exampleTests.m */,
 | 
			
		||||
				00E356F01AD99517003FC87E /* Supporting Files */,
 | 
			
		||||
			);
 | 
			
		||||
			path = exampleTests;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		00E356F01AD99517003FC87E /* Supporting Files */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				00E356F11AD99517003FC87E /* Info.plist */,
 | 
			
		||||
			);
 | 
			
		||||
			name = "Supporting Files";
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		13B07FAE1A68108700A75B9A /* example */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				008F07F21AC5B25A0029DE68 /* main.jsbundle */,
 | 
			
		||||
				13B07FAF1A68108700A75B9A /* AppDelegate.h */,
 | 
			
		||||
				13B07FB01A68108700A75B9A /* AppDelegate.m */,
 | 
			
		||||
				13B07FB51A68108700A75B9A /* Images.xcassets */,
 | 
			
		||||
				13B07FB61A68108700A75B9A /* Info.plist */,
 | 
			
		||||
				81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
 | 
			
		||||
				13B07FB71A68108700A75B9A /* main.m */,
 | 
			
		||||
			);
 | 
			
		||||
			name = example;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
 | 
			
		||||
				ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
 | 
			
		||||
				DE688222BA941BA9019FB103 /* libPods-example.a */,
 | 
			
		||||
				75D43CC657AE13EB606A88D4 /* libPods-example-exampleTests.a */,
 | 
			
		||||
				FF72D1ED3398B315E1A611C6 /* libPods-example-tvOS.a */,
 | 
			
		||||
				B14C59F113B17643C1599005 /* libPods-example-tvOSTests.a */,
 | 
			
		||||
			);
 | 
			
		||||
			name = Frameworks;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		832341AE1AAA6A7D00B99B32 /* Libraries */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
			);
 | 
			
		||||
			name = Libraries;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		83CBB9F61A601CBA00E9B192 = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				13B07FAE1A68108700A75B9A /* example */,
 | 
			
		||||
				832341AE1AAA6A7D00B99B32 /* Libraries */,
 | 
			
		||||
				00E356EF1AD99517003FC87E /* exampleTests */,
 | 
			
		||||
				83CBBA001A601CBA00E9B192 /* Products */,
 | 
			
		||||
				2D16E6871FA4F8E400B85C8A /* Frameworks */,
 | 
			
		||||
				E47C9E60A31BAC49C345EBB5 /* Pods */,
 | 
			
		||||
			);
 | 
			
		||||
			indentWidth = 2;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
			tabWidth = 2;
 | 
			
		||||
			usesTabs = 0;
 | 
			
		||||
		};
 | 
			
		||||
		83CBBA001A601CBA00E9B192 /* Products */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				13B07F961A680F5B00A75B9A /* example.app */,
 | 
			
		||||
				00E356EE1AD99517003FC87E /* exampleTests.xctest */,
 | 
			
		||||
				2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */,
 | 
			
		||||
				2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */,
 | 
			
		||||
			);
 | 
			
		||||
			name = Products;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		E47C9E60A31BAC49C345EBB5 /* Pods */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				8AD4667EA129381D1AA1195B /* Pods-example.debug.xcconfig */,
 | 
			
		||||
				BBD565EB9C7A9497A48ECDEA /* Pods-example.release.xcconfig */,
 | 
			
		||||
				F978DB4F2AF6C26CBA8E2BB5 /* Pods-example-exampleTests.debug.xcconfig */,
 | 
			
		||||
				C22BDD7188B56A02D6C7EA3E /* Pods-example-exampleTests.release.xcconfig */,
 | 
			
		||||
				F9805635668EB65D5CB9BEA4 /* Pods-example-tvOS.debug.xcconfig */,
 | 
			
		||||
				909AA4FF29607443046F3676 /* Pods-example-tvOS.release.xcconfig */,
 | 
			
		||||
				E1ECC7F9ED2360AD27D88048 /* Pods-example-tvOSTests.debug.xcconfig */,
 | 
			
		||||
				71108372967D2DF7DCD99BCF /* Pods-example-tvOSTests.release.xcconfig */,
 | 
			
		||||
			);
 | 
			
		||||
			name = Pods;
 | 
			
		||||
			path = Pods;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXGroup section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXNativeTarget section */
 | 
			
		||||
		00E356ED1AD99517003FC87E /* exampleTests */ = {
 | 
			
		||||
			isa = PBXNativeTarget;
 | 
			
		||||
			buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */;
 | 
			
		||||
			buildPhases = (
 | 
			
		||||
				582B0F546BB239DB9DF92707 /* [CP] Check Pods Manifest.lock */,
 | 
			
		||||
				00E356EA1AD99517003FC87E /* Sources */,
 | 
			
		||||
				00E356EB1AD99517003FC87E /* Frameworks */,
 | 
			
		||||
				00E356EC1AD99517003FC87E /* Resources */,
 | 
			
		||||
				DA34E751E2C71F57C552EAC5 /* [CP] Copy Pods Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			buildRules = (
 | 
			
		||||
			);
 | 
			
		||||
			dependencies = (
 | 
			
		||||
				00E356F51AD99517003FC87E /* PBXTargetDependency */,
 | 
			
		||||
			);
 | 
			
		||||
			name = exampleTests;
 | 
			
		||||
			productName = exampleTests;
 | 
			
		||||
			productReference = 00E356EE1AD99517003FC87E /* exampleTests.xctest */;
 | 
			
		||||
			productType = "com.apple.product-type.bundle.unit-test";
 | 
			
		||||
		};
 | 
			
		||||
		13B07F861A680F5B00A75B9A /* example */ = {
 | 
			
		||||
			isa = PBXNativeTarget;
 | 
			
		||||
			buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */;
 | 
			
		||||
			buildPhases = (
 | 
			
		||||
				98E0760BA032B1603841008A /* [CP] Check Pods Manifest.lock */,
 | 
			
		||||
				FD10A7F022414F080027D42C /* Start Packager */,
 | 
			
		||||
				13B07F871A680F5B00A75B9A /* Sources */,
 | 
			
		||||
				13B07F8C1A680F5B00A75B9A /* Frameworks */,
 | 
			
		||||
				13B07F8E1A680F5B00A75B9A /* Resources */,
 | 
			
		||||
				00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
 | 
			
		||||
				66F08A9D6CCB1B1B39C3B45F /* [CP] Copy Pods Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			buildRules = (
 | 
			
		||||
			);
 | 
			
		||||
			dependencies = (
 | 
			
		||||
			);
 | 
			
		||||
			name = example;
 | 
			
		||||
			productName = example;
 | 
			
		||||
			productReference = 13B07F961A680F5B00A75B9A /* example.app */;
 | 
			
		||||
			productType = "com.apple.product-type.application";
 | 
			
		||||
		};
 | 
			
		||||
		2D02E47A1E0B4A5D006451C7 /* example-tvOS */ = {
 | 
			
		||||
			isa = PBXNativeTarget;
 | 
			
		||||
			buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */;
 | 
			
		||||
			buildPhases = (
 | 
			
		||||
				AFE2BF543DEFF70A7C2A3D9B /* [CP] Check Pods Manifest.lock */,
 | 
			
		||||
				FD10A7F122414F3F0027D42C /* Start Packager */,
 | 
			
		||||
				2D02E4771E0B4A5D006451C7 /* Sources */,
 | 
			
		||||
				2D02E4781E0B4A5D006451C7 /* Frameworks */,
 | 
			
		||||
				2D02E4791E0B4A5D006451C7 /* Resources */,
 | 
			
		||||
				2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */,
 | 
			
		||||
			);
 | 
			
		||||
			buildRules = (
 | 
			
		||||
			);
 | 
			
		||||
			dependencies = (
 | 
			
		||||
			);
 | 
			
		||||
			name = "example-tvOS";
 | 
			
		||||
			productName = "example-tvOS";
 | 
			
		||||
			productReference = 2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */;
 | 
			
		||||
			productType = "com.apple.product-type.application";
 | 
			
		||||
		};
 | 
			
		||||
		2D02E48F1E0B4A5D006451C7 /* example-tvOSTests */ = {
 | 
			
		||||
			isa = PBXNativeTarget;
 | 
			
		||||
			buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */;
 | 
			
		||||
			buildPhases = (
 | 
			
		||||
				6134E0AE72C1AE4344E462C7 /* [CP] Check Pods Manifest.lock */,
 | 
			
		||||
				2D02E48C1E0B4A5D006451C7 /* Sources */,
 | 
			
		||||
				2D02E48D1E0B4A5D006451C7 /* Frameworks */,
 | 
			
		||||
				2D02E48E1E0B4A5D006451C7 /* Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			buildRules = (
 | 
			
		||||
			);
 | 
			
		||||
			dependencies = (
 | 
			
		||||
				2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */,
 | 
			
		||||
			);
 | 
			
		||||
			name = "example-tvOSTests";
 | 
			
		||||
			productName = "example-tvOSTests";
 | 
			
		||||
			productReference = 2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */;
 | 
			
		||||
			productType = "com.apple.product-type.bundle.unit-test";
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXNativeTarget section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXProject section */
 | 
			
		||||
		83CBB9F71A601CBA00E9B192 /* Project object */ = {
 | 
			
		||||
			isa = PBXProject;
 | 
			
		||||
			attributes = {
 | 
			
		||||
				LastUpgradeCheck = 1130;
 | 
			
		||||
				TargetAttributes = {
 | 
			
		||||
					00E356ED1AD99517003FC87E = {
 | 
			
		||||
						CreatedOnToolsVersion = 6.2;
 | 
			
		||||
						TestTargetID = 13B07F861A680F5B00A75B9A;
 | 
			
		||||
					};
 | 
			
		||||
					13B07F861A680F5B00A75B9A = {
 | 
			
		||||
						LastSwiftMigration = 1120;
 | 
			
		||||
					};
 | 
			
		||||
					2D02E47A1E0B4A5D006451C7 = {
 | 
			
		||||
						CreatedOnToolsVersion = 8.2.1;
 | 
			
		||||
						ProvisioningStyle = Automatic;
 | 
			
		||||
					};
 | 
			
		||||
					2D02E48F1E0B4A5D006451C7 = {
 | 
			
		||||
						CreatedOnToolsVersion = 8.2.1;
 | 
			
		||||
						ProvisioningStyle = Automatic;
 | 
			
		||||
						TestTargetID = 2D02E47A1E0B4A5D006451C7;
 | 
			
		||||
					};
 | 
			
		||||
				};
 | 
			
		||||
			};
 | 
			
		||||
			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "example" */;
 | 
			
		||||
			compatibilityVersion = "Xcode 3.2";
 | 
			
		||||
			developmentRegion = en;
 | 
			
		||||
			hasScannedForEncodings = 0;
 | 
			
		||||
			knownRegions = (
 | 
			
		||||
				en,
 | 
			
		||||
				Base,
 | 
			
		||||
			);
 | 
			
		||||
			mainGroup = 83CBB9F61A601CBA00E9B192;
 | 
			
		||||
			productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
 | 
			
		||||
			projectDirPath = "";
 | 
			
		||||
			projectRoot = "";
 | 
			
		||||
			targets = (
 | 
			
		||||
				13B07F861A680F5B00A75B9A /* example */,
 | 
			
		||||
				00E356ED1AD99517003FC87E /* exampleTests */,
 | 
			
		||||
				2D02E47A1E0B4A5D006451C7 /* example-tvOS */,
 | 
			
		||||
				2D02E48F1E0B4A5D006451C7 /* example-tvOSTests */,
 | 
			
		||||
			);
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXProject section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXResourcesBuildPhase section */
 | 
			
		||||
		00E356EC1AD99517003FC87E /* Resources */ = {
 | 
			
		||||
			isa = PBXResourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		13B07F8E1A680F5B00A75B9A /* Resources */ = {
 | 
			
		||||
			isa = PBXResourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */,
 | 
			
		||||
				13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4791E0B4A5D006451C7 /* Resources */ = {
 | 
			
		||||
			isa = PBXResourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E48E1E0B4A5D006451C7 /* Resources */ = {
 | 
			
		||||
			isa = PBXResourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXResourcesBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXShellScriptBuildPhase section */
 | 
			
		||||
		00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			name = "Bundle React Native code and images";
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			name = "Bundle React Native Code And Images";
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
 | 
			
		||||
		};
 | 
			
		||||
		582B0F546BB239DB9DF92707 /* [CP] Check Pods Manifest.lock */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
 | 
			
		||||
				"${PODS_ROOT}/Manifest.lock",
 | 
			
		||||
			);
 | 
			
		||||
			name = "[CP] Check Pods Manifest.lock";
 | 
			
		||||
			outputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
				"$(DERIVED_FILE_DIR)/Pods-example-exampleTests-checkManifestLockResult.txt",
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			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";
 | 
			
		||||
			showEnvVarsInLog = 0;
 | 
			
		||||
		};
 | 
			
		||||
		6134E0AE72C1AE4344E462C7 /* [CP] Check Pods Manifest.lock */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
 | 
			
		||||
				"${PODS_ROOT}/Manifest.lock",
 | 
			
		||||
			);
 | 
			
		||||
			name = "[CP] Check Pods Manifest.lock";
 | 
			
		||||
			outputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
				"$(DERIVED_FILE_DIR)/Pods-example-tvOSTests-checkManifestLockResult.txt",
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			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";
 | 
			
		||||
			showEnvVarsInLog = 0;
 | 
			
		||||
		};
 | 
			
		||||
		66F08A9D6CCB1B1B39C3B45F /* [CP] Copy Pods Resources */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
				"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh",
 | 
			
		||||
				"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
 | 
			
		||||
			);
 | 
			
		||||
			name = "[CP] Copy Pods Resources";
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh\"\n";
 | 
			
		||||
			showEnvVarsInLog = 0;
 | 
			
		||||
		};
 | 
			
		||||
		98E0760BA032B1603841008A /* [CP] Check Pods Manifest.lock */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
 | 
			
		||||
				"${PODS_ROOT}/Manifest.lock",
 | 
			
		||||
			);
 | 
			
		||||
			name = "[CP] Check Pods Manifest.lock";
 | 
			
		||||
			outputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
				"$(DERIVED_FILE_DIR)/Pods-example-checkManifestLockResult.txt",
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			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";
 | 
			
		||||
			showEnvVarsInLog = 0;
 | 
			
		||||
		};
 | 
			
		||||
		AFE2BF543DEFF70A7C2A3D9B /* [CP] Check Pods Manifest.lock */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
 | 
			
		||||
				"${PODS_ROOT}/Manifest.lock",
 | 
			
		||||
			);
 | 
			
		||||
			name = "[CP] Check Pods Manifest.lock";
 | 
			
		||||
			outputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
				"$(DERIVED_FILE_DIR)/Pods-example-tvOS-checkManifestLockResult.txt",
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			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";
 | 
			
		||||
			showEnvVarsInLog = 0;
 | 
			
		||||
		};
 | 
			
		||||
		DA34E751E2C71F57C552EAC5 /* [CP] Copy Pods Resources */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
				"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh",
 | 
			
		||||
				"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
 | 
			
		||||
			);
 | 
			
		||||
			name = "[CP] Copy Pods Resources";
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
				"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example-exampleTests/Pods-example-exampleTests-resources.sh\"\n";
 | 
			
		||||
			showEnvVarsInLog = 0;
 | 
			
		||||
		};
 | 
			
		||||
		FD10A7F022414F080027D42C /* Start Packager */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			name = "Start Packager";
 | 
			
		||||
			outputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			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";
 | 
			
		||||
			showEnvVarsInLog = 0;
 | 
			
		||||
		};
 | 
			
		||||
		FD10A7F122414F3F0027D42C /* Start Packager */ = {
 | 
			
		||||
			isa = PBXShellScriptBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			inputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			inputPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			name = "Start Packager";
 | 
			
		||||
			outputFileListPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			outputPaths = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
			shellPath = /bin/sh;
 | 
			
		||||
			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";
 | 
			
		||||
			showEnvVarsInLog = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXShellScriptBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXSourcesBuildPhase section */
 | 
			
		||||
		00E356EA1AD99517003FC87E /* Sources */ = {
 | 
			
		||||
			isa = PBXSourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				00E356F31AD99517003FC87E /* exampleTests.m in Sources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		13B07F871A680F5B00A75B9A /* Sources */ = {
 | 
			
		||||
			isa = PBXSourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */,
 | 
			
		||||
				13B07FC11A68108700A75B9A /* main.m in Sources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4771E0B4A5D006451C7 /* Sources */ = {
 | 
			
		||||
			isa = PBXSourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */,
 | 
			
		||||
				2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E48C1E0B4A5D006451C7 /* Sources */ = {
 | 
			
		||||
			isa = PBXSourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
				2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */,
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXSourcesBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXTargetDependency section */
 | 
			
		||||
		00E356F51AD99517003FC87E /* PBXTargetDependency */ = {
 | 
			
		||||
			isa = PBXTargetDependency;
 | 
			
		||||
			target = 13B07F861A680F5B00A75B9A /* example */;
 | 
			
		||||
			targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = {
 | 
			
		||||
			isa = PBXTargetDependency;
 | 
			
		||||
			target = 2D02E47A1E0B4A5D006451C7 /* example-tvOS */;
 | 
			
		||||
			targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXTargetDependency section */
 | 
			
		||||
 | 
			
		||||
/* Begin XCBuildConfiguration section */
 | 
			
		||||
		00E356F61AD99517003FC87E /* Debug */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			baseConfigurationReference = F978DB4F2AF6C26CBA8E2BB5 /* Pods-example-exampleTests.debug.xcconfig */;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				BUNDLE_LOADER = "$(TEST_HOST)";
 | 
			
		||||
				GCC_PREPROCESSOR_DEFINITIONS = (
 | 
			
		||||
					"DEBUG=1",
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
				);
 | 
			
		||||
				INFOPLIST_FILE = exampleTests/Info.plist;
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"-ObjC",
 | 
			
		||||
					"-lc++",
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
				);
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example";
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug;
 | 
			
		||||
		};
 | 
			
		||||
		00E356F71AD99517003FC87E /* Release */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			baseConfigurationReference = C22BDD7188B56A02D6C7EA3E /* Pods-example-exampleTests.release.xcconfig */;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				BUNDLE_LOADER = "$(TEST_HOST)";
 | 
			
		||||
				COPY_PHASE_STRIP = NO;
 | 
			
		||||
				INFOPLIST_FILE = exampleTests/Info.plist;
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"-ObjC",
 | 
			
		||||
					"-lc++",
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
				);
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example";
 | 
			
		||||
			};
 | 
			
		||||
			name = Release;
 | 
			
		||||
		};
 | 
			
		||||
		13B07F941A680F5B00A75B9A /* Debug */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			baseConfigurationReference = 8AD4667EA129381D1AA1195B /* Pods-example.debug.xcconfig */;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 | 
			
		||||
				CLANG_ENABLE_MODULES = YES;
 | 
			
		||||
				CURRENT_PROJECT_VERSION = 1;
 | 
			
		||||
				ENABLE_BITCODE = NO;
 | 
			
		||||
				INFOPLIST_FILE = example/Info.plist;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
					"-ObjC",
 | 
			
		||||
					"-lc++",
 | 
			
		||||
				);
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
 | 
			
		||||
				PRODUCT_NAME = example;
 | 
			
		||||
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
 | 
			
		||||
				SWIFT_VERSION = 5.0;
 | 
			
		||||
				VERSIONING_SYSTEM = "apple-generic";
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug;
 | 
			
		||||
		};
 | 
			
		||||
		13B07F951A680F5B00A75B9A /* Release */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			baseConfigurationReference = BBD565EB9C7A9497A48ECDEA /* Pods-example.release.xcconfig */;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 | 
			
		||||
				CLANG_ENABLE_MODULES = YES;
 | 
			
		||||
				CURRENT_PROJECT_VERSION = 1;
 | 
			
		||||
				INFOPLIST_FILE = example/Info.plist;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
					"-ObjC",
 | 
			
		||||
					"-lc++",
 | 
			
		||||
				);
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
 | 
			
		||||
				PRODUCT_NAME = example;
 | 
			
		||||
				SWIFT_VERSION = 5.0;
 | 
			
		||||
				VERSIONING_SYSTEM = "apple-generic";
 | 
			
		||||
			};
 | 
			
		||||
			name = Release;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4971E0B4A5E006451C7 /* Debug */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			baseConfigurationReference = F9805635668EB65D5CB9BEA4 /* Pods-example-tvOS.debug.xcconfig */;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
 | 
			
		||||
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 | 
			
		||||
				CLANG_ANALYZER_NONNULL = YES;
 | 
			
		||||
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				DEBUG_INFORMATION_FORMAT = dwarf;
 | 
			
		||||
				ENABLE_TESTABILITY = YES;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				INFOPLIST_FILE = "example-tvOS/Info.plist";
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
					"-ObjC",
 | 
			
		||||
					"-lc++",
 | 
			
		||||
				);
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOS";
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				SDKROOT = appletvos;
 | 
			
		||||
				TARGETED_DEVICE_FAMILY = 3;
 | 
			
		||||
				TVOS_DEPLOYMENT_TARGET = 10.0;
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4981E0B4A5E006451C7 /* Release */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			baseConfigurationReference = 909AA4FF29607443046F3676 /* Pods-example-tvOS.release.xcconfig */;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
 | 
			
		||||
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 | 
			
		||||
				CLANG_ANALYZER_NONNULL = YES;
 | 
			
		||||
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				COPY_PHASE_STRIP = NO;
 | 
			
		||||
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				INFOPLIST_FILE = "example-tvOS/Info.plist";
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
					"-ObjC",
 | 
			
		||||
					"-lc++",
 | 
			
		||||
				);
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOS";
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				SDKROOT = appletvos;
 | 
			
		||||
				TARGETED_DEVICE_FAMILY = 3;
 | 
			
		||||
				TVOS_DEPLOYMENT_TARGET = 10.0;
 | 
			
		||||
			};
 | 
			
		||||
			name = Release;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4991E0B4A5E006451C7 /* Debug */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			baseConfigurationReference = E1ECC7F9ED2360AD27D88048 /* Pods-example-tvOSTests.debug.xcconfig */;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				BUNDLE_LOADER = "$(TEST_HOST)";
 | 
			
		||||
				CLANG_ANALYZER_NONNULL = YES;
 | 
			
		||||
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				DEBUG_INFORMATION_FORMAT = dwarf;
 | 
			
		||||
				ENABLE_TESTABILITY = YES;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				INFOPLIST_FILE = "example-tvOSTests/Info.plist";
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
					"-ObjC",
 | 
			
		||||
					"-lc++",
 | 
			
		||||
				);
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOSTests";
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				SDKROOT = appletvos;
 | 
			
		||||
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS";
 | 
			
		||||
				TVOS_DEPLOYMENT_TARGET = 10.1;
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E49A1E0B4A5E006451C7 /* Release */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			baseConfigurationReference = 71108372967D2DF7DCD99BCF /* Pods-example-tvOSTests.release.xcconfig */;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				BUNDLE_LOADER = "$(TEST_HOST)";
 | 
			
		||||
				CLANG_ANALYZER_NONNULL = YES;
 | 
			
		||||
				CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				COPY_PHASE_STRIP = NO;
 | 
			
		||||
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				INFOPLIST_FILE = "example-tvOSTests/Info.plist";
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
 | 
			
		||||
				OTHER_LDFLAGS = (
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
					"-ObjC",
 | 
			
		||||
					"-lc++",
 | 
			
		||||
				);
 | 
			
		||||
				PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.example-tvOSTests";
 | 
			
		||||
				PRODUCT_NAME = "$(TARGET_NAME)";
 | 
			
		||||
				SDKROOT = appletvos;
 | 
			
		||||
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS";
 | 
			
		||||
				TVOS_DEPLOYMENT_TARGET = 10.1;
 | 
			
		||||
			};
 | 
			
		||||
			name = Release;
 | 
			
		||||
		};
 | 
			
		||||
		83CBBA201A601CBA00E9B192 /* Debug */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ALWAYS_SEARCH_USER_PATHS = NO;
 | 
			
		||||
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
 | 
			
		||||
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 | 
			
		||||
				CLANG_CXX_LIBRARY = "libc++";
 | 
			
		||||
				CLANG_ENABLE_MODULES = YES;
 | 
			
		||||
				CLANG_ENABLE_OBJC_ARC = YES;
 | 
			
		||||
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
 | 
			
		||||
				CLANG_WARN_BOOL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_COMMA = YES;
 | 
			
		||||
				CLANG_WARN_CONSTANT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
 | 
			
		||||
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_EMPTY_BODY = YES;
 | 
			
		||||
				CLANG_WARN_ENUM_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_INT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 | 
			
		||||
				CLANG_WARN_STRICT_PROTOTYPES = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				CLANG_WARN_UNREACHABLE_CODE = YES;
 | 
			
		||||
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 | 
			
		||||
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 | 
			
		||||
				COPY_PHASE_STRIP = NO;
 | 
			
		||||
				ENABLE_STRICT_OBJC_MSGSEND = YES;
 | 
			
		||||
				ENABLE_TESTABILITY = YES;
 | 
			
		||||
				GCC_C_LANGUAGE_STANDARD = gnu99;
 | 
			
		||||
				GCC_DYNAMIC_NO_PIC = NO;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				GCC_OPTIMIZATION_LEVEL = 0;
 | 
			
		||||
				GCC_PREPROCESSOR_DEFINITIONS = (
 | 
			
		||||
					"DEBUG=1",
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
				);
 | 
			
		||||
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 | 
			
		||||
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 | 
			
		||||
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 | 
			
		||||
				GCC_WARN_UNDECLARED_SELECTOR = YES;
 | 
			
		||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
			
		||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
			
		||||
				GCC_WARN_UNUSED_VARIABLE = YES;
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = (
 | 
			
		||||
					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
 | 
			
		||||
					"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
 | 
			
		||||
					"\"$(inherited)\"",
 | 
			
		||||
				);
 | 
			
		||||
				MTL_ENABLE_DEBUG_INFO = YES;
 | 
			
		||||
				ONLY_ACTIVE_ARCH = YES;
 | 
			
		||||
				SDKROOT = iphoneos;
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug;
 | 
			
		||||
		};
 | 
			
		||||
		83CBBA211A601CBA00E9B192 /* Release */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ALWAYS_SEARCH_USER_PATHS = NO;
 | 
			
		||||
				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
 | 
			
		||||
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 | 
			
		||||
				CLANG_CXX_LIBRARY = "libc++";
 | 
			
		||||
				CLANG_ENABLE_MODULES = YES;
 | 
			
		||||
				CLANG_ENABLE_OBJC_ARC = YES;
 | 
			
		||||
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
 | 
			
		||||
				CLANG_WARN_BOOL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_COMMA = YES;
 | 
			
		||||
				CLANG_WARN_CONSTANT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
 | 
			
		||||
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_EMPTY_BODY = YES;
 | 
			
		||||
				CLANG_WARN_ENUM_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_INT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 | 
			
		||||
				CLANG_WARN_STRICT_PROTOTYPES = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				CLANG_WARN_UNREACHABLE_CODE = YES;
 | 
			
		||||
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 | 
			
		||||
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 | 
			
		||||
				COPY_PHASE_STRIP = YES;
 | 
			
		||||
				ENABLE_NS_ASSERTIONS = NO;
 | 
			
		||||
				ENABLE_STRICT_OBJC_MSGSEND = YES;
 | 
			
		||||
				GCC_C_LANGUAGE_STANDARD = gnu99;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 | 
			
		||||
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 | 
			
		||||
				GCC_WARN_UNDECLARED_SELECTOR = YES;
 | 
			
		||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
			
		||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
			
		||||
				GCC_WARN_UNUSED_VARIABLE = YES;
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 10.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = (
 | 
			
		||||
					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
 | 
			
		||||
					"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
 | 
			
		||||
					"\"$(inherited)\"",
 | 
			
		||||
				);
 | 
			
		||||
				MTL_ENABLE_DEBUG_INFO = NO;
 | 
			
		||||
				SDKROOT = iphoneos;
 | 
			
		||||
				VALIDATE_PRODUCT = YES;
 | 
			
		||||
			};
 | 
			
		||||
			name = Release;
 | 
			
		||||
		};
 | 
			
		||||
/* End XCBuildConfiguration section */
 | 
			
		||||
 | 
			
		||||
/* Begin XCConfigurationList section */
 | 
			
		||||
		00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				00E356F61AD99517003FC87E /* Debug */,
 | 
			
		||||
				00E356F71AD99517003FC87E /* Release */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release;
 | 
			
		||||
		};
 | 
			
		||||
		13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				13B07F941A680F5B00A75B9A /* Debug */,
 | 
			
		||||
				13B07F951A680F5B00A75B9A /* Release */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				2D02E4971E0B4A5E006451C7 /* Debug */,
 | 
			
		||||
				2D02E4981E0B4A5E006451C7 /* Release */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release;
 | 
			
		||||
		};
 | 
			
		||||
		2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				2D02E4991E0B4A5E006451C7 /* Debug */,
 | 
			
		||||
				2D02E49A1E0B4A5E006451C7 /* Release */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release;
 | 
			
		||||
		};
 | 
			
		||||
		83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "example" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				83CBBA201A601CBA00E9B192 /* Debug */,
 | 
			
		||||
				83CBBA211A601CBA00E9B192 /* Release */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release;
 | 
			
		||||
		};
 | 
			
		||||
/* End XCConfigurationList section */
 | 
			
		||||
	};
 | 
			
		||||
	rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,88 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<Scheme
 | 
			
		||||
   LastUpgradeVersion = "1130"
 | 
			
		||||
   version = "1.3">
 | 
			
		||||
   <BuildAction
 | 
			
		||||
      parallelizeBuildables = "YES"
 | 
			
		||||
      buildImplicitDependencies = "YES">
 | 
			
		||||
      <BuildActionEntries>
 | 
			
		||||
         <BuildActionEntry
 | 
			
		||||
            buildForTesting = "YES"
 | 
			
		||||
            buildForRunning = "YES"
 | 
			
		||||
            buildForProfiling = "YES"
 | 
			
		||||
            buildForArchiving = "YES"
 | 
			
		||||
            buildForAnalyzing = "YES">
 | 
			
		||||
            <BuildableReference
 | 
			
		||||
               BuildableIdentifier = "primary"
 | 
			
		||||
               BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
 | 
			
		||||
               BuildableName = "example-tvOS.app"
 | 
			
		||||
               BlueprintName = "example-tvOS"
 | 
			
		||||
               ReferencedContainer = "container:example.xcodeproj">
 | 
			
		||||
            </BuildableReference>
 | 
			
		||||
         </BuildActionEntry>
 | 
			
		||||
      </BuildActionEntries>
 | 
			
		||||
   </BuildAction>
 | 
			
		||||
   <TestAction
 | 
			
		||||
      buildConfiguration = "Debug"
 | 
			
		||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
			
		||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
			
		||||
      shouldUseLaunchSchemeArgsEnv = "YES">
 | 
			
		||||
      <Testables>
 | 
			
		||||
         <TestableReference
 | 
			
		||||
            skipped = "NO">
 | 
			
		||||
            <BuildableReference
 | 
			
		||||
               BuildableIdentifier = "primary"
 | 
			
		||||
               BlueprintIdentifier = "2D02E48F1E0B4A5D006451C7"
 | 
			
		||||
               BuildableName = "example-tvOSTests.xctest"
 | 
			
		||||
               BlueprintName = "example-tvOSTests"
 | 
			
		||||
               ReferencedContainer = "container:example.xcodeproj">
 | 
			
		||||
            </BuildableReference>
 | 
			
		||||
         </TestableReference>
 | 
			
		||||
      </Testables>
 | 
			
		||||
   </TestAction>
 | 
			
		||||
   <LaunchAction
 | 
			
		||||
      buildConfiguration = "Debug"
 | 
			
		||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
			
		||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
			
		||||
      launchStyle = "0"
 | 
			
		||||
      useCustomWorkingDirectory = "NO"
 | 
			
		||||
      ignoresPersistentStateOnLaunch = "NO"
 | 
			
		||||
      debugDocumentVersioning = "YES"
 | 
			
		||||
      debugServiceExtension = "internal"
 | 
			
		||||
      allowLocationSimulation = "YES">
 | 
			
		||||
      <BuildableProductRunnable
 | 
			
		||||
         runnableDebuggingMode = "0">
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
 | 
			
		||||
            BuildableName = "example-tvOS.app"
 | 
			
		||||
            BlueprintName = "example-tvOS"
 | 
			
		||||
            ReferencedContainer = "container:example.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </BuildableProductRunnable>
 | 
			
		||||
   </LaunchAction>
 | 
			
		||||
   <ProfileAction
 | 
			
		||||
      buildConfiguration = "Release"
 | 
			
		||||
      shouldUseLaunchSchemeArgsEnv = "YES"
 | 
			
		||||
      savedToolIdentifier = ""
 | 
			
		||||
      useCustomWorkingDirectory = "NO"
 | 
			
		||||
      debugDocumentVersioning = "YES">
 | 
			
		||||
      <BuildableProductRunnable
 | 
			
		||||
         runnableDebuggingMode = "0">
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "2D02E47A1E0B4A5D006451C7"
 | 
			
		||||
            BuildableName = "example-tvOS.app"
 | 
			
		||||
            BlueprintName = "example-tvOS"
 | 
			
		||||
            ReferencedContainer = "container:example.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </BuildableProductRunnable>
 | 
			
		||||
   </ProfileAction>
 | 
			
		||||
   <AnalyzeAction
 | 
			
		||||
      buildConfiguration = "Debug">
 | 
			
		||||
   </AnalyzeAction>
 | 
			
		||||
   <ArchiveAction
 | 
			
		||||
      buildConfiguration = "Release"
 | 
			
		||||
      revealArchiveInOrganizer = "YES">
 | 
			
		||||
   </ArchiveAction>
 | 
			
		||||
</Scheme>
 | 
			
		||||
@@ -0,0 +1,88 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<Scheme
 | 
			
		||||
   LastUpgradeVersion = "1130"
 | 
			
		||||
   version = "1.3">
 | 
			
		||||
   <BuildAction
 | 
			
		||||
      parallelizeBuildables = "YES"
 | 
			
		||||
      buildImplicitDependencies = "YES">
 | 
			
		||||
      <BuildActionEntries>
 | 
			
		||||
         <BuildActionEntry
 | 
			
		||||
            buildForTesting = "YES"
 | 
			
		||||
            buildForRunning = "YES"
 | 
			
		||||
            buildForProfiling = "YES"
 | 
			
		||||
            buildForArchiving = "YES"
 | 
			
		||||
            buildForAnalyzing = "YES">
 | 
			
		||||
            <BuildableReference
 | 
			
		||||
               BuildableIdentifier = "primary"
 | 
			
		||||
               BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
 | 
			
		||||
               BuildableName = "example.app"
 | 
			
		||||
               BlueprintName = "example"
 | 
			
		||||
               ReferencedContainer = "container:example.xcodeproj">
 | 
			
		||||
            </BuildableReference>
 | 
			
		||||
         </BuildActionEntry>
 | 
			
		||||
      </BuildActionEntries>
 | 
			
		||||
   </BuildAction>
 | 
			
		||||
   <TestAction
 | 
			
		||||
      buildConfiguration = "Debug"
 | 
			
		||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
			
		||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
			
		||||
      shouldUseLaunchSchemeArgsEnv = "YES">
 | 
			
		||||
      <Testables>
 | 
			
		||||
         <TestableReference
 | 
			
		||||
            skipped = "NO">
 | 
			
		||||
            <BuildableReference
 | 
			
		||||
               BuildableIdentifier = "primary"
 | 
			
		||||
               BlueprintIdentifier = "00E356ED1AD99517003FC87E"
 | 
			
		||||
               BuildableName = "exampleTests.xctest"
 | 
			
		||||
               BlueprintName = "exampleTests"
 | 
			
		||||
               ReferencedContainer = "container:example.xcodeproj">
 | 
			
		||||
            </BuildableReference>
 | 
			
		||||
         </TestableReference>
 | 
			
		||||
      </Testables>
 | 
			
		||||
   </TestAction>
 | 
			
		||||
   <LaunchAction
 | 
			
		||||
      buildConfiguration = "Debug"
 | 
			
		||||
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
 | 
			
		||||
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
 | 
			
		||||
      launchStyle = "0"
 | 
			
		||||
      useCustomWorkingDirectory = "NO"
 | 
			
		||||
      ignoresPersistentStateOnLaunch = "NO"
 | 
			
		||||
      debugDocumentVersioning = "YES"
 | 
			
		||||
      debugServiceExtension = "internal"
 | 
			
		||||
      allowLocationSimulation = "YES">
 | 
			
		||||
      <BuildableProductRunnable
 | 
			
		||||
         runnableDebuggingMode = "0">
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
 | 
			
		||||
            BuildableName = "example.app"
 | 
			
		||||
            BlueprintName = "example"
 | 
			
		||||
            ReferencedContainer = "container:example.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </BuildableProductRunnable>
 | 
			
		||||
   </LaunchAction>
 | 
			
		||||
   <ProfileAction
 | 
			
		||||
      buildConfiguration = "Release"
 | 
			
		||||
      shouldUseLaunchSchemeArgsEnv = "YES"
 | 
			
		||||
      savedToolIdentifier = ""
 | 
			
		||||
      useCustomWorkingDirectory = "NO"
 | 
			
		||||
      debugDocumentVersioning = "YES">
 | 
			
		||||
      <BuildableProductRunnable
 | 
			
		||||
         runnableDebuggingMode = "0">
 | 
			
		||||
         <BuildableReference
 | 
			
		||||
            BuildableIdentifier = "primary"
 | 
			
		||||
            BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
 | 
			
		||||
            BuildableName = "example.app"
 | 
			
		||||
            BlueprintName = "example"
 | 
			
		||||
            ReferencedContainer = "container:example.xcodeproj">
 | 
			
		||||
         </BuildableReference>
 | 
			
		||||
      </BuildableProductRunnable>
 | 
			
		||||
   </ProfileAction>
 | 
			
		||||
   <AnalyzeAction
 | 
			
		||||
      buildConfiguration = "Debug">
 | 
			
		||||
   </AnalyzeAction>
 | 
			
		||||
   <ArchiveAction
 | 
			
		||||
      buildConfiguration = "Release"
 | 
			
		||||
      revealArchiveInOrganizer = "YES">
 | 
			
		||||
   </ArchiveAction>
 | 
			
		||||
</Scheme>
 | 
			
		||||
							
								
								
									
										10
									
								
								example/ios/example.xcworkspace/contents.xcworkspacedata
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,10 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<Workspace
 | 
			
		||||
   version = "1.0">
 | 
			
		||||
   <FileRef
 | 
			
		||||
      location = "group:example.xcodeproj">
 | 
			
		||||
   </FileRef>
 | 
			
		||||
   <FileRef
 | 
			
		||||
      location = "group:Pods/Pods.xcodeproj">
 | 
			
		||||
   </FileRef>
 | 
			
		||||
</Workspace>
 | 
			
		||||
							
								
								
									
										8
									
								
								example/ios/example/AppDelegate.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,8 @@
 | 
			
		||||
#import <React/RCTBridgeDelegate.h>
 | 
			
		||||
#import <UIKit/UIKit.h>
 | 
			
		||||
 | 
			
		||||
@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate>
 | 
			
		||||
 | 
			
		||||
@property (nonatomic, strong) UIWindow *window;
 | 
			
		||||
 | 
			
		||||
@end
 | 
			
		||||
							
								
								
									
										58
									
								
								example/ios/example/AppDelegate.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,58 @@
 | 
			
		||||
#import "AppDelegate.h"
 | 
			
		||||
 | 
			
		||||
#import <React/RCTBridge.h>
 | 
			
		||||
#import <React/RCTBundleURLProvider.h>
 | 
			
		||||
#import <React/RCTRootView.h>
 | 
			
		||||
 | 
			
		||||
#ifdef FB_SONARKIT_ENABLED
 | 
			
		||||
#import <FlipperKit/FlipperClient.h>
 | 
			
		||||
#import <FlipperKitLayoutPlugin/FlipperKitLayoutPlugin.h>
 | 
			
		||||
#import <FlipperKitUserDefaultsPlugin/FKUserDefaultsPlugin.h>
 | 
			
		||||
#import <FlipperKitNetworkPlugin/FlipperKitNetworkPlugin.h>
 | 
			
		||||
#import <SKIOSNetworkPlugin/SKIOSNetworkAdapter.h>
 | 
			
		||||
#import <FlipperKitReactPlugin/FlipperKitReactPlugin.h>
 | 
			
		||||
 | 
			
		||||
static void InitializeFlipper(UIApplication *application) {
 | 
			
		||||
  FlipperClient *client = [FlipperClient sharedClient];
 | 
			
		||||
  SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults];
 | 
			
		||||
  [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]];
 | 
			
		||||
  [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]];
 | 
			
		||||
  [client addPlugin:[FlipperKitReactPlugin new]];
 | 
			
		||||
  [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]];
 | 
			
		||||
  [client start];
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@implementation AppDelegate
 | 
			
		||||
 | 
			
		||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 | 
			
		||||
{
 | 
			
		||||
#ifdef FB_SONARKIT_ENABLED
 | 
			
		||||
  InitializeFlipper(application);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
 | 
			
		||||
  RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge
 | 
			
		||||
                                                   moduleName:@"example"
 | 
			
		||||
                                            initialProperties:nil];
 | 
			
		||||
 | 
			
		||||
  rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
 | 
			
		||||
 | 
			
		||||
  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
 | 
			
		||||
  UIViewController *rootViewController = [UIViewController new];
 | 
			
		||||
  rootViewController.view = rootView;
 | 
			
		||||
  self.window.rootViewController = rootViewController;
 | 
			
		||||
  [self.window makeKeyAndVisible];
 | 
			
		||||
  return YES;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
 | 
			
		||||
{
 | 
			
		||||
#if DEBUG
 | 
			
		||||
  return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
 | 
			
		||||
#else
 | 
			
		||||
  return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@end
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
{
 | 
			
		||||
  "images" : [
 | 
			
		||||
    {
 | 
			
		||||
      "idiom" : "iphone",
 | 
			
		||||
      "size" : "29x29",
 | 
			
		||||
      "scale" : "2x"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "idiom" : "iphone",
 | 
			
		||||
      "size" : "29x29",
 | 
			
		||||
      "scale" : "3x"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "idiom" : "iphone",
 | 
			
		||||
      "size" : "40x40",
 | 
			
		||||
      "scale" : "2x"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "idiom" : "iphone",
 | 
			
		||||
      "size" : "40x40",
 | 
			
		||||
      "scale" : "3x"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "idiom" : "iphone",
 | 
			
		||||
      "size" : "60x60",
 | 
			
		||||
      "scale" : "2x"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "idiom" : "iphone",
 | 
			
		||||
      "size" : "60x60",
 | 
			
		||||
      "scale" : "3x"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "info" : {
 | 
			
		||||
    "version" : 1,
 | 
			
		||||
    "author" : "xcode"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										6
									
								
								example/ios/example/Images.xcassets/Contents.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "info" : {
 | 
			
		||||
    "version" : 1,
 | 
			
		||||
    "author" : "xcode"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										57
									
								
								example/ios/example/Info.plist
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,57 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | 
			
		||||
<plist version="1.0">
 | 
			
		||||
<dict>
 | 
			
		||||
	<key>CFBundleDevelopmentRegion</key>
 | 
			
		||||
	<string>en</string>
 | 
			
		||||
	<key>CFBundleDisplayName</key>
 | 
			
		||||
	<string>Wechat Pay</string>
 | 
			
		||||
	<key>CFBundleExecutable</key>
 | 
			
		||||
	<string>$(EXECUTABLE_NAME)</string>
 | 
			
		||||
	<key>CFBundleIdentifier</key>
 | 
			
		||||
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
 | 
			
		||||
	<key>CFBundleInfoDictionaryVersion</key>
 | 
			
		||||
	<string>6.0</string>
 | 
			
		||||
	<key>CFBundleName</key>
 | 
			
		||||
	<string>$(PRODUCT_NAME)</string>
 | 
			
		||||
	<key>CFBundlePackageType</key>
 | 
			
		||||
	<string>APPL</string>
 | 
			
		||||
	<key>CFBundleShortVersionString</key>
 | 
			
		||||
	<string>1.0</string>
 | 
			
		||||
	<key>CFBundleSignature</key>
 | 
			
		||||
	<string>????</string>
 | 
			
		||||
	<key>CFBundleVersion</key>
 | 
			
		||||
	<string>1</string>
 | 
			
		||||
	<key>LSRequiresIPhoneOS</key>
 | 
			
		||||
	<true/>
 | 
			
		||||
	<key>NSAppTransportSecurity</key>
 | 
			
		||||
	<dict>
 | 
			
		||||
		<key>NSAllowsArbitraryLoads</key>
 | 
			
		||||
		<true/>
 | 
			
		||||
		<key>NSExceptionDomains</key>
 | 
			
		||||
		<dict>
 | 
			
		||||
			<key>localhost</key>
 | 
			
		||||
			<dict>
 | 
			
		||||
				<key>NSExceptionAllowsInsecureHTTPLoads</key>
 | 
			
		||||
				<true/>
 | 
			
		||||
			</dict>
 | 
			
		||||
		</dict>
 | 
			
		||||
	</dict>
 | 
			
		||||
	<key>NSLocationWhenInUseUsageDescription</key>
 | 
			
		||||
	<string></string>
 | 
			
		||||
	<key>UILaunchStoryboardName</key>
 | 
			
		||||
	<string>LaunchScreen</string>
 | 
			
		||||
	<key>UIRequiredDeviceCapabilities</key>
 | 
			
		||||
	<array>
 | 
			
		||||
		<string>armv7</string>
 | 
			
		||||
	</array>
 | 
			
		||||
	<key>UISupportedInterfaceOrientations</key>
 | 
			
		||||
	<array>
 | 
			
		||||
		<string>UIInterfaceOrientationPortrait</string>
 | 
			
		||||
		<string>UIInterfaceOrientationLandscapeLeft</string>
 | 
			
		||||
		<string>UIInterfaceOrientationLandscapeRight</string>
 | 
			
		||||
	</array>
 | 
			
		||||
	<key>UIViewControllerBasedStatusBarAppearance</key>
 | 
			
		||||
	<false/>
 | 
			
		||||
</dict>
 | 
			
		||||
</plist>
 | 
			
		||||
							
								
								
									
										58
									
								
								example/ios/example/LaunchScreen.storyboard
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,58 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
 | 
			
		||||
    <device id="retina4_7" orientation="portrait" appearance="light"/>
 | 
			
		||||
    <dependencies>
 | 
			
		||||
        <deployment identifier="iOS"/>
 | 
			
		||||
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
 | 
			
		||||
        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
 | 
			
		||||
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
 | 
			
		||||
    </dependencies>
 | 
			
		||||
    <scenes>
 | 
			
		||||
        <!--View Controller-->
 | 
			
		||||
        <scene sceneID="EHf-IW-A2E">
 | 
			
		||||
            <objects>
 | 
			
		||||
                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
 | 
			
		||||
                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
 | 
			
		||||
                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
 | 
			
		||||
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
 | 
			
		||||
                        <subviews>
 | 
			
		||||
                            <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="obG-Y5-kRd">
 | 
			
		||||
                                <rect key="frame" x="0.0" y="647" width="375" height="0.0"/>
 | 
			
		||||
                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
 | 
			
		||||
                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
 | 
			
		||||
                                <nil key="highlightedColor"/>
 | 
			
		||||
                            </label>
 | 
			
		||||
                            <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="GJd-Yh-RWb">
 | 
			
		||||
                                <rect key="frame" x="0.0" y="202" width="375" height="43"/>
 | 
			
		||||
                                <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
 | 
			
		||||
                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
 | 
			
		||||
                                <nil key="highlightedColor"/>
 | 
			
		||||
                            </label>
 | 
			
		||||
                            <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="MN2-I3-ftu">
 | 
			
		||||
                                <rect key="frame" x="0.0" y="626" width="375" height="21"/>
 | 
			
		||||
                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
 | 
			
		||||
                                <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
 | 
			
		||||
                                <nil key="highlightedColor"/>
 | 
			
		||||
                            </label>
 | 
			
		||||
                        </subviews>
 | 
			
		||||
                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
 | 
			
		||||
                        <constraints>
 | 
			
		||||
                            <constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="obG-Y5-kRd" secondAttribute="centerX" id="5cz-MP-9tL"/>
 | 
			
		||||
                            <constraint firstItem="Bcu-3y-fUS" firstAttribute="bottom" secondItem="MN2-I3-ftu" secondAttribute="bottom" constant="20" id="OZV-Vh-mqD"/>
 | 
			
		||||
                            <constraint firstItem="Bcu-3y-fUS" firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
 | 
			
		||||
                            <constraint firstItem="obG-Y5-kRd" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" symbolic="YES" id="SfN-ll-jLj"/>
 | 
			
		||||
                            <constraint firstAttribute="bottom" secondItem="obG-Y5-kRd" secondAttribute="bottom" constant="20" id="Y44-ml-fuU"/>
 | 
			
		||||
                            <constraint firstItem="MN2-I3-ftu" firstAttribute="centerX" secondItem="Bcu-3y-fUS" secondAttribute="centerX" id="akx-eg-2ui"/>
 | 
			
		||||
                            <constraint firstItem="MN2-I3-ftu" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" id="i1E-0Y-4RG"/>
 | 
			
		||||
                            <constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
 | 
			
		||||
                            <constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Bcu-3y-fUS" secondAttribute="leading" symbolic="YES" id="x7j-FC-K8j"/>
 | 
			
		||||
                        </constraints>
 | 
			
		||||
                        <viewLayoutGuide key="safeArea" id="Bcu-3y-fUS"/>
 | 
			
		||||
                    </view>
 | 
			
		||||
                </viewController>
 | 
			
		||||
                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
 | 
			
		||||
            </objects>
 | 
			
		||||
            <point key="canvasLocation" x="52.173913043478265" y="375"/>
 | 
			
		||||
        </scene>
 | 
			
		||||
    </scenes>
 | 
			
		||||
</document>
 | 
			
		||||
							
								
								
									
										9
									
								
								example/ios/example/main.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,9 @@
 | 
			
		||||
#import <UIKit/UIKit.h>
 | 
			
		||||
 | 
			
		||||
#import "AppDelegate.h"
 | 
			
		||||
 | 
			
		||||
int main(int argc, char * argv[]) {
 | 
			
		||||
  @autoreleasepool {
 | 
			
		||||
    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										24
									
								
								example/ios/exampleTests/Info.plist
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,24 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | 
			
		||||
<plist version="1.0">
 | 
			
		||||
<dict>
 | 
			
		||||
	<key>CFBundleDevelopmentRegion</key>
 | 
			
		||||
	<string>en</string>
 | 
			
		||||
	<key>CFBundleExecutable</key>
 | 
			
		||||
	<string>$(EXECUTABLE_NAME)</string>
 | 
			
		||||
	<key>CFBundleIdentifier</key>
 | 
			
		||||
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
 | 
			
		||||
	<key>CFBundleInfoDictionaryVersion</key>
 | 
			
		||||
	<string>6.0</string>
 | 
			
		||||
	<key>CFBundleName</key>
 | 
			
		||||
	<string>$(PRODUCT_NAME)</string>
 | 
			
		||||
	<key>CFBundlePackageType</key>
 | 
			
		||||
	<string>BNDL</string>
 | 
			
		||||
	<key>CFBundleShortVersionString</key>
 | 
			
		||||
	<string>1.0</string>
 | 
			
		||||
	<key>CFBundleSignature</key>
 | 
			
		||||
	<string>????</string>
 | 
			
		||||
	<key>CFBundleVersion</key>
 | 
			
		||||
	<string>1</string>
 | 
			
		||||
</dict>
 | 
			
		||||
</plist>
 | 
			
		||||
							
								
								
									
										65
									
								
								example/ios/exampleTests/exampleTests.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,65 @@
 | 
			
		||||
#import <UIKit/UIKit.h>
 | 
			
		||||
#import <XCTest/XCTest.h>
 | 
			
		||||
 | 
			
		||||
#import <React/RCTLog.h>
 | 
			
		||||
#import <React/RCTRootView.h>
 | 
			
		||||
 | 
			
		||||
#define TIMEOUT_SECONDS 600
 | 
			
		||||
#define TEXT_TO_LOOK_FOR @"Welcome to React"
 | 
			
		||||
 | 
			
		||||
@interface exampleTests : XCTestCase
 | 
			
		||||
 | 
			
		||||
@end
 | 
			
		||||
 | 
			
		||||
@implementation exampleTests
 | 
			
		||||
 | 
			
		||||
- (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test
 | 
			
		||||
{
 | 
			
		||||
  if (test(view)) {
 | 
			
		||||
    return YES;
 | 
			
		||||
  }
 | 
			
		||||
  for (UIView *subview in [view subviews]) {
 | 
			
		||||
    if ([self findSubviewInView:subview matching:test]) {
 | 
			
		||||
      return YES;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return NO;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
- (void)testRendersWelcomeScreen
 | 
			
		||||
{
 | 
			
		||||
  UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController];
 | 
			
		||||
  NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS];
 | 
			
		||||
  BOOL foundElement = NO;
 | 
			
		||||
 | 
			
		||||
  __block NSString *redboxError = nil;
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
  RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) {
 | 
			
		||||
    if (level >= RCTLogLevelError) {
 | 
			
		||||
      redboxError = message;
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) {
 | 
			
		||||
    [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
 | 
			
		||||
    [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]];
 | 
			
		||||
 | 
			
		||||
    foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) {
 | 
			
		||||
      if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) {
 | 
			
		||||
        return YES;
 | 
			
		||||
      }
 | 
			
		||||
      return NO;
 | 
			
		||||
    }];
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
  RCTSetLogFunction(RCTDefaultLogFunction);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  XCTAssertNil(redboxError, @"RedBox error: %@", redboxError);
 | 
			
		||||
  XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@end
 | 
			
		||||
							
								
								
									
										28
									
								
								example/metro.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,28 @@
 | 
			
		||||
// metro.config.js
 | 
			
		||||
//
 | 
			
		||||
// with multiple workarounds for this issue with symlinks:
 | 
			
		||||
// https://github.com/facebook/metro/issues/1
 | 
			
		||||
//
 | 
			
		||||
// with thanks to @johnryan (<https://github.com/johnryan>)
 | 
			
		||||
// for the pointers to multiple workaround solutions here:
 | 
			
		||||
// https://github.com/facebook/metro/issues/1#issuecomment-541642857
 | 
			
		||||
//
 | 
			
		||||
// see also this discussion:
 | 
			
		||||
// https://github.com/brodybits/create-react-native-module/issues/232
 | 
			
		||||
 | 
			
		||||
const path = require('path')
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
  // workaround for an issue with symlinks encountered starting with
 | 
			
		||||
  // metro@0.55 / React Native 0.61
 | 
			
		||||
  // (not needed with React Native 0.60 / metro@0.54)
 | 
			
		||||
  resolver: {
 | 
			
		||||
    extraNodeModules: new Proxy(
 | 
			
		||||
      {},
 | 
			
		||||
      { get: (_, name) => path.resolve('.', 'node_modules', name) }
 | 
			
		||||
    )
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  // quick workaround for another issue with symlinks
 | 
			
		||||
  watchFolders: ['.', '..']
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										30
									
								
								example/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,30 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "example",
 | 
			
		||||
  "version": "0.0.1",
 | 
			
		||||
  "private": true,
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "android": "react-native run-android",
 | 
			
		||||
    "ios": "react-native run-ios",
 | 
			
		||||
    "start": "react-native start",
 | 
			
		||||
    "test": "jest",
 | 
			
		||||
    "lint": "eslint ."
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@uiw/react-native-wechat": "link:../",
 | 
			
		||||
    "react": "16.13.1",
 | 
			
		||||
    "react-native": "0.63.2"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@babel/core": "^7.8.4",
 | 
			
		||||
    "@babel/runtime": "^7.8.4",
 | 
			
		||||
    "@react-native-community/eslint-config": "^1.1.0",
 | 
			
		||||
    "babel-jest": "^25.1.0",
 | 
			
		||||
    "eslint": "^6.5.1",
 | 
			
		||||
    "jest": "^25.1.0",
 | 
			
		||||
    "metro-react-native-babel-preset": "^0.59.0",
 | 
			
		||||
    "react-test-renderer": "16.13.1"
 | 
			
		||||
  },
 | 
			
		||||
  "jest": {
 | 
			
		||||
    "preset": "react-native"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										6959
									
								
								example/yarn.lock
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								index.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										5
									
								
								index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
			
		||||
import { NativeModules } from 'react-native';
 | 
			
		||||
 | 
			
		||||
const { RNWechat } = NativeModules;
 | 
			
		||||
 | 
			
		||||
export default RNWechat;
 | 
			
		||||
							
								
								
									
										5
									
								
								ios/RNWechat.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,5 @@
 | 
			
		||||
#import <React/RCTBridgeModule.h>
 | 
			
		||||
 | 
			
		||||
@interface RNWechat : NSObject <RCTBridgeModule>
 | 
			
		||||
 | 
			
		||||
@end
 | 
			
		||||
							
								
								
									
										13
									
								
								ios/RNWechat.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,13 @@
 | 
			
		||||
#import "RNWechat.h"
 | 
			
		||||
 | 
			
		||||
@implementation RNWechat
 | 
			
		||||
 | 
			
		||||
RCT_EXPORT_MODULE()
 | 
			
		||||
 | 
			
		||||
RCT_EXPORT_METHOD(sampleMethod:(NSString *)stringArgument numberParameter:(nonnull NSNumber *)numberArgument callback:(RCTResponseSenderBlock)callback)
 | 
			
		||||
{
 | 
			
		||||
    // TODO: Implement some actually useful functionality
 | 
			
		||||
    callback(@[[NSString stringWithFormat: @"numberArgument: %@ stringArgument: %@", numberArgument, stringArgument]]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@end
 | 
			
		||||
							
								
								
									
										28
									
								
								ios/RNWechat.podspec
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,28 @@
 | 
			
		||||
require "json"
 | 
			
		||||
 | 
			
		||||
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
 | 
			
		||||
 | 
			
		||||
Pod::Spec.new do |s|
 | 
			
		||||
  s.name         = "RNWechat"
 | 
			
		||||
  s.version      = package["version"]
 | 
			
		||||
  s.summary      = package["description"]
 | 
			
		||||
  s.description  = <<-DESC
 | 
			
		||||
                  @uiw/react-native-wechat
 | 
			
		||||
                   DESC
 | 
			
		||||
  s.homepage     = "https://github.com/uiwjs/react-native-wechat"
 | 
			
		||||
  # brief license entry:
 | 
			
		||||
  s.license      = "MIT"
 | 
			
		||||
  # optional - use expanded license entry instead:
 | 
			
		||||
  # s.license    = { :type => "MIT", :file => "LICENSE" }
 | 
			
		||||
  s.authors      = { "Kenny Wong" => "wowohoo@qq.com" }
 | 
			
		||||
  s.platforms    = { :ios => "9.0" }
 | 
			
		||||
  s.source       = { :git => "https://github.com/uiwjs/react-native-wechat.git", :tag => "#{s.version}" }
 | 
			
		||||
 | 
			
		||||
  s.source_files = "ios/**/*.{h,c,m,swift}"
 | 
			
		||||
  s.requires_arc = true
 | 
			
		||||
 | 
			
		||||
  s.dependency "React"
 | 
			
		||||
  # ...
 | 
			
		||||
  # s.dependency "..."
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										281
									
								
								ios/RNWechat.xcodeproj/project.pbxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,281 @@
 | 
			
		||||
// !$*UTF8*$!
 | 
			
		||||
{
 | 
			
		||||
	archiveVersion = 1;
 | 
			
		||||
	classes = {
 | 
			
		||||
	};
 | 
			
		||||
	objectVersion = 46;
 | 
			
		||||
	objects = {
 | 
			
		||||
 | 
			
		||||
/* Begin PBXCopyFilesBuildPhase section */
 | 
			
		||||
		58B511D91A9E6C8500147676 /* CopyFiles */ = {
 | 
			
		||||
			isa = PBXCopyFilesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			dstPath = "include/$(PRODUCT_NAME)";
 | 
			
		||||
			dstSubfolderSpec = 16;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXCopyFilesBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXFileReference section */
 | 
			
		||||
		134814201AA4EA6300B7C361 /* libRNWechat.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNWechat.a; sourceTree = BUILT_PRODUCTS_DIR; };
 | 
			
		||||
/* End PBXFileReference section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXFrameworksBuildPhase section */
 | 
			
		||||
		58B511D81A9E6C8500147676 /* Frameworks */ = {
 | 
			
		||||
			isa = PBXFrameworksBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXFrameworksBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXGroup section */
 | 
			
		||||
		134814211AA4EA7D00B7C361 /* Products */ = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				134814201AA4EA6300B7C361 /* libRNWechat.a */,
 | 
			
		||||
			);
 | 
			
		||||
			name = Products;
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
		58B511D21A9E6C8500147676 = {
 | 
			
		||||
			isa = PBXGroup;
 | 
			
		||||
			children = (
 | 
			
		||||
				134814211AA4EA7D00B7C361 /* Products */,
 | 
			
		||||
			);
 | 
			
		||||
			sourceTree = "<group>";
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXGroup section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXNativeTarget section */
 | 
			
		||||
		58B511DA1A9E6C8500147676 /* RNWechat */ = {
 | 
			
		||||
			isa = PBXNativeTarget;
 | 
			
		||||
			buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNWechat" */;
 | 
			
		||||
			buildPhases = (
 | 
			
		||||
				58B511D71A9E6C8500147676 /* Sources */,
 | 
			
		||||
				58B511D81A9E6C8500147676 /* Frameworks */,
 | 
			
		||||
				58B511D91A9E6C8500147676 /* CopyFiles */,
 | 
			
		||||
			);
 | 
			
		||||
			buildRules = (
 | 
			
		||||
			);
 | 
			
		||||
			dependencies = (
 | 
			
		||||
			);
 | 
			
		||||
			name = RNWechat;
 | 
			
		||||
			productName = RCTDataManager;
 | 
			
		||||
			productReference = 134814201AA4EA6300B7C361 /* libRNWechat.a */;
 | 
			
		||||
			productType = "com.apple.product-type.library.static";
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXNativeTarget section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXProject section */
 | 
			
		||||
		58B511D31A9E6C8500147676 /* Project object */ = {
 | 
			
		||||
			isa = PBXProject;
 | 
			
		||||
			attributes = {
 | 
			
		||||
				LastUpgradeCheck = 0920;
 | 
			
		||||
				ORGANIZATIONNAME = Facebook;
 | 
			
		||||
				TargetAttributes = {
 | 
			
		||||
					58B511DA1A9E6C8500147676 = {
 | 
			
		||||
						CreatedOnToolsVersion = 6.1.1;
 | 
			
		||||
					};
 | 
			
		||||
				};
 | 
			
		||||
			};
 | 
			
		||||
			buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNWechat" */;
 | 
			
		||||
			compatibilityVersion = "Xcode 3.2";
 | 
			
		||||
			developmentRegion = en;
 | 
			
		||||
			hasScannedForEncodings = 0;
 | 
			
		||||
			knownRegions = (
 | 
			
		||||
				en,
 | 
			
		||||
				Base,
 | 
			
		||||
			);
 | 
			
		||||
			mainGroup = 58B511D21A9E6C8500147676;
 | 
			
		||||
			productRefGroup = 58B511D21A9E6C8500147676;
 | 
			
		||||
			projectDirPath = "";
 | 
			
		||||
			projectRoot = "";
 | 
			
		||||
			targets = (
 | 
			
		||||
				58B511DA1A9E6C8500147676 /* RNWechat */,
 | 
			
		||||
			);
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXProject section */
 | 
			
		||||
 | 
			
		||||
/* Begin PBXSourcesBuildPhase section */
 | 
			
		||||
		58B511D71A9E6C8500147676 /* Sources */ = {
 | 
			
		||||
			isa = PBXSourcesBuildPhase;
 | 
			
		||||
			buildActionMask = 2147483647;
 | 
			
		||||
			files = (
 | 
			
		||||
			);
 | 
			
		||||
			runOnlyForDeploymentPostprocessing = 0;
 | 
			
		||||
		};
 | 
			
		||||
/* End PBXSourcesBuildPhase section */
 | 
			
		||||
 | 
			
		||||
/* Begin XCBuildConfiguration section */
 | 
			
		||||
		58B511ED1A9E6C8500147676 /* Debug */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ALWAYS_SEARCH_USER_PATHS = NO;
 | 
			
		||||
				CLANG_ANALYZER_NONNULL = YES;
 | 
			
		||||
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 | 
			
		||||
				CLANG_CXX_LIBRARY = "libc++";
 | 
			
		||||
				CLANG_ENABLE_MODULES = YES;
 | 
			
		||||
				CLANG_ENABLE_OBJC_ARC = YES;
 | 
			
		||||
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
 | 
			
		||||
				CLANG_WARN_BOOL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_COMMA = YES;
 | 
			
		||||
				CLANG_WARN_CONSTANT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
 | 
			
		||||
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_EMPTY_BODY = YES;
 | 
			
		||||
				CLANG_WARN_ENUM_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_INT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 | 
			
		||||
				CLANG_WARN_STRICT_PROTOTYPES = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				CLANG_WARN_UNREACHABLE_CODE = YES;
 | 
			
		||||
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 | 
			
		||||
				COPY_PHASE_STRIP = NO;
 | 
			
		||||
				ENABLE_STRICT_OBJC_MSGSEND = YES;
 | 
			
		||||
				ENABLE_TESTABILITY = YES;
 | 
			
		||||
				GCC_C_LANGUAGE_STANDARD = gnu99;
 | 
			
		||||
				GCC_DYNAMIC_NO_PIC = NO;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				GCC_OPTIMIZATION_LEVEL = 0;
 | 
			
		||||
				GCC_PREPROCESSOR_DEFINITIONS = (
 | 
			
		||||
					"DEBUG=1",
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
				);
 | 
			
		||||
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
 | 
			
		||||
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 | 
			
		||||
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 | 
			
		||||
				GCC_WARN_UNDECLARED_SELECTOR = YES;
 | 
			
		||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
			
		||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
			
		||||
				GCC_WARN_UNUSED_VARIABLE = YES;
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = (
 | 
			
		||||
					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
 | 
			
		||||
					"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
 | 
			
		||||
					"\"$(inherited)\"",
 | 
			
		||||
				);
 | 
			
		||||
				MTL_ENABLE_DEBUG_INFO = YES;
 | 
			
		||||
				ONLY_ACTIVE_ARCH = YES;
 | 
			
		||||
				SDKROOT = iphoneos;
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug;
 | 
			
		||||
		};
 | 
			
		||||
		58B511EE1A9E6C8500147676 /* Release */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				ALWAYS_SEARCH_USER_PATHS = NO;
 | 
			
		||||
				CLANG_ANALYZER_NONNULL = YES;
 | 
			
		||||
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 | 
			
		||||
				CLANG_CXX_LIBRARY = "libc++";
 | 
			
		||||
				CLANG_ENABLE_MODULES = YES;
 | 
			
		||||
				CLANG_ENABLE_OBJC_ARC = YES;
 | 
			
		||||
				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
 | 
			
		||||
				CLANG_WARN_BOOL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_COMMA = YES;
 | 
			
		||||
				CLANG_WARN_CONSTANT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
 | 
			
		||||
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_EMPTY_BODY = YES;
 | 
			
		||||
				CLANG_WARN_ENUM_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_INFINITE_RECURSION = YES;
 | 
			
		||||
				CLANG_WARN_INT_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 | 
			
		||||
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
 | 
			
		||||
				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 | 
			
		||||
				CLANG_WARN_STRICT_PROTOTYPES = YES;
 | 
			
		||||
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
 | 
			
		||||
				CLANG_WARN_UNREACHABLE_CODE = YES;
 | 
			
		||||
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
 | 
			
		||||
				COPY_PHASE_STRIP = YES;
 | 
			
		||||
				ENABLE_NS_ASSERTIONS = NO;
 | 
			
		||||
				ENABLE_STRICT_OBJC_MSGSEND = YES;
 | 
			
		||||
				GCC_C_LANGUAGE_STANDARD = gnu99;
 | 
			
		||||
				GCC_NO_COMMON_BLOCKS = YES;
 | 
			
		||||
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
 | 
			
		||||
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
 | 
			
		||||
				GCC_WARN_UNDECLARED_SELECTOR = YES;
 | 
			
		||||
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 | 
			
		||||
				GCC_WARN_UNUSED_FUNCTION = YES;
 | 
			
		||||
				GCC_WARN_UNUSED_VARIABLE = YES;
 | 
			
		||||
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 | 
			
		||||
				LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = (
 | 
			
		||||
					"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
 | 
			
		||||
					"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"",
 | 
			
		||||
					"\"$(inherited)\"",
 | 
			
		||||
				);
 | 
			
		||||
				MTL_ENABLE_DEBUG_INFO = NO;
 | 
			
		||||
				SDKROOT = iphoneos;
 | 
			
		||||
				VALIDATE_PRODUCT = YES;
 | 
			
		||||
			};
 | 
			
		||||
			name = Release;
 | 
			
		||||
		};
 | 
			
		||||
		58B511F01A9E6C8500147676 /* Debug */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				HEADER_SEARCH_PATHS = (
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
					/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
 | 
			
		||||
					"$(SRCROOT)/../../../React/**",
 | 
			
		||||
					"$(SRCROOT)/../../react-native/React/**",
 | 
			
		||||
				);
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				OTHER_LDFLAGS = "-ObjC";
 | 
			
		||||
				PRODUCT_NAME = RNWechat;
 | 
			
		||||
				SKIP_INSTALL = YES;
 | 
			
		||||
			};
 | 
			
		||||
			name = Debug;
 | 
			
		||||
		};
 | 
			
		||||
		58B511F11A9E6C8500147676 /* Release */ = {
 | 
			
		||||
			isa = XCBuildConfiguration;
 | 
			
		||||
			buildSettings = {
 | 
			
		||||
				HEADER_SEARCH_PATHS = (
 | 
			
		||||
					"$(inherited)",
 | 
			
		||||
					/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
 | 
			
		||||
					"$(SRCROOT)/../../../React/**",
 | 
			
		||||
					"$(SRCROOT)/../../react-native/React/**",
 | 
			
		||||
				);
 | 
			
		||||
				LIBRARY_SEARCH_PATHS = "$(inherited)";
 | 
			
		||||
				OTHER_LDFLAGS = "-ObjC";
 | 
			
		||||
				PRODUCT_NAME = RNWechat;
 | 
			
		||||
				SKIP_INSTALL = YES;
 | 
			
		||||
			};
 | 
			
		||||
			name = Release;
 | 
			
		||||
		};
 | 
			
		||||
/* End XCBuildConfiguration section */
 | 
			
		||||
 | 
			
		||||
/* Begin XCConfigurationList section */
 | 
			
		||||
		58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNWechat" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				58B511ED1A9E6C8500147676 /* Debug */,
 | 
			
		||||
				58B511EE1A9E6C8500147676 /* Release */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release;
 | 
			
		||||
		};
 | 
			
		||||
		58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNWechat" */ = {
 | 
			
		||||
			isa = XCConfigurationList;
 | 
			
		||||
			buildConfigurations = (
 | 
			
		||||
				58B511F01A9E6C8500147676 /* Debug */,
 | 
			
		||||
				58B511F11A9E6C8500147676 /* Release */,
 | 
			
		||||
			);
 | 
			
		||||
			defaultConfigurationIsVisible = 0;
 | 
			
		||||
			defaultConfigurationName = Release;
 | 
			
		||||
		};
 | 
			
		||||
/* End XCConfigurationList section */
 | 
			
		||||
	};
 | 
			
		||||
	rootObject = 58B511D31A9E6C8500147676 /* Project object */;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								ios/RNWechat.xcworkspace/contents.xcworkspacedata
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,7 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<Workspace
 | 
			
		||||
   version = "1.0">
 | 
			
		||||
   <FileRef
 | 
			
		||||
      location = "group:RNWechat.xcodeproj">
 | 
			
		||||
   </FileRef>
 | 
			
		||||
</Workspace>
 | 
			
		||||
							
								
								
									
										42
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,42 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "@uiw/react-native-wechat",
 | 
			
		||||
  "title": "@uiw/react Native Wechat",
 | 
			
		||||
  "version": "1.0.0",
 | 
			
		||||
  "description": "TODO",
 | 
			
		||||
  "main": "index.js",
 | 
			
		||||
  "files": [
 | 
			
		||||
    "android/libs",
 | 
			
		||||
    "android/src",
 | 
			
		||||
    "android/build.gradle",
 | 
			
		||||
    "ios",
 | 
			
		||||
    "index.d.ts",
 | 
			
		||||
    "index.js",
 | 
			
		||||
    "README.md"
 | 
			
		||||
  ],
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "test": "echo \"Error: no test specified\" && exit 1"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "git+https://github.com/uiwjs/@uiw/react-native-wechat.git",
 | 
			
		||||
    "baseUrl": "https://github.com/uiwjs/@uiw/react-native-wechat"
 | 
			
		||||
  },
 | 
			
		||||
  "keywords": [
 | 
			
		||||
    "react-native"
 | 
			
		||||
  ],
 | 
			
		||||
  "author": {
 | 
			
		||||
    "name": "Kenny Wong",
 | 
			
		||||
    "email": "wowohoo@qq.com"
 | 
			
		||||
  },
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
  "licenseFilename": "LICENSE",
 | 
			
		||||
  "readmeFilename": "README.md",
 | 
			
		||||
  "peerDependencies": {
 | 
			
		||||
    "react": "^16.8.1",
 | 
			
		||||
    "react-native": ">=0.60.0-rc.0 <1.0.x"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "react": "^16.9.0",
 | 
			
		||||
    "react-native": "^0.61.5"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||