From b0333a4d521a365ac72d61a2b7e8496d3e3bf2c9 Mon Sep 17 00:00:00 2001 From: Andreas Keller Date: Mon, 18 Jul 2016 11:40:22 +0200 Subject: [PATCH] Add example app --- Examples/BarcodeScanner/.buckconfig | 6 + Examples/BarcodeScanner/.flowconfig | 41 + Examples/BarcodeScanner/.gitignore | 41 + Examples/BarcodeScanner/.watchmanconfig | 1 + Examples/BarcodeScanner/android/app/BUCK | 66 ++ .../BarcodeScanner/android/app/build.gradle | 140 ++++ .../android/app/proguard-rules.pro | 66 ++ .../android/app/src/main/AndroidManifest.xml | 32 + .../java/com/barcodescanner/MainActivity.java | 15 + .../com/barcodescanner/MainApplication.java | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes .../app/src/main/res/values/strings.xml | 4 + .../app/src/main/res/values/styles.xml | 8 + Examples/BarcodeScanner/android/build.gradle | 24 + .../BarcodeScanner/android/gradle.properties | 20 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 52266 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + Examples/BarcodeScanner/android/gradlew | 164 ++++ Examples/BarcodeScanner/android/gradlew.bat | 90 +++ .../BarcodeScanner/android/keystores/BUCK | 8 + .../keystores/debug.keystore.properties | 4 + .../BarcodeScanner/android/settings.gradle | 5 + Examples/BarcodeScanner/index.android.js | 65 ++ Examples/BarcodeScanner/index.ios.js | 53 ++ .../BarcodeScanner.xcodeproj/project.pbxproj | 765 ++++++++++++++++++ .../xcschemes/BarcodeScanner.xcscheme | 112 +++ .../ios/BarcodeScanner/AppDelegate.h | 16 + .../ios/BarcodeScanner/AppDelegate.m | 38 + .../Base.lproj/LaunchScreen.xib | 42 + .../AppIcon.appiconset/Contents.json | 38 + .../ios/BarcodeScanner/Info.plist | 54 ++ .../BarcodeScanner/ios/BarcodeScanner/main.m | 18 + .../BarcodeScannerTests/BarcodeScannerTests.m | 70 ++ .../ios/BarcodeScannerTests/Info.plist | 24 + Examples/BarcodeScanner/package.json | 13 + Examples/Testcodes.pdf | Bin 0 -> 175741 bytes README.md | 37 +- 40 files changed, 2111 insertions(+), 11 deletions(-) create mode 100644 Examples/BarcodeScanner/.buckconfig create mode 100644 Examples/BarcodeScanner/.flowconfig create mode 100644 Examples/BarcodeScanner/.gitignore create mode 100644 Examples/BarcodeScanner/.watchmanconfig create mode 100644 Examples/BarcodeScanner/android/app/BUCK create mode 100644 Examples/BarcodeScanner/android/app/build.gradle create mode 100644 Examples/BarcodeScanner/android/app/proguard-rules.pro create mode 100644 Examples/BarcodeScanner/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/BarcodeScanner/android/app/src/main/java/com/barcodescanner/MainActivity.java create mode 100644 Examples/BarcodeScanner/android/app/src/main/java/com/barcodescanner/MainApplication.java create mode 100644 Examples/BarcodeScanner/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/BarcodeScanner/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/BarcodeScanner/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/BarcodeScanner/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/BarcodeScanner/android/app/src/main/res/values/strings.xml create mode 100644 Examples/BarcodeScanner/android/app/src/main/res/values/styles.xml create mode 100644 Examples/BarcodeScanner/android/build.gradle create mode 100644 Examples/BarcodeScanner/android/gradle.properties create mode 100644 Examples/BarcodeScanner/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/BarcodeScanner/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/BarcodeScanner/android/gradlew create mode 100644 Examples/BarcodeScanner/android/gradlew.bat create mode 100644 Examples/BarcodeScanner/android/keystores/BUCK create mode 100644 Examples/BarcodeScanner/android/keystores/debug.keystore.properties create mode 100644 Examples/BarcodeScanner/android/settings.gradle create mode 100644 Examples/BarcodeScanner/index.android.js create mode 100644 Examples/BarcodeScanner/index.ios.js create mode 100644 Examples/BarcodeScanner/ios/BarcodeScanner.xcodeproj/project.pbxproj create mode 100644 Examples/BarcodeScanner/ios/BarcodeScanner.xcodeproj/xcshareddata/xcschemes/BarcodeScanner.xcscheme create mode 100644 Examples/BarcodeScanner/ios/BarcodeScanner/AppDelegate.h create mode 100644 Examples/BarcodeScanner/ios/BarcodeScanner/AppDelegate.m create mode 100644 Examples/BarcodeScanner/ios/BarcodeScanner/Base.lproj/LaunchScreen.xib create mode 100644 Examples/BarcodeScanner/ios/BarcodeScanner/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/BarcodeScanner/ios/BarcodeScanner/Info.plist create mode 100644 Examples/BarcodeScanner/ios/BarcodeScanner/main.m create mode 100644 Examples/BarcodeScanner/ios/BarcodeScannerTests/BarcodeScannerTests.m create mode 100644 Examples/BarcodeScanner/ios/BarcodeScannerTests/Info.plist create mode 100644 Examples/BarcodeScanner/package.json create mode 100644 Examples/Testcodes.pdf diff --git a/Examples/BarcodeScanner/.buckconfig b/Examples/BarcodeScanner/.buckconfig new file mode 100644 index 0000000..934256c --- /dev/null +++ b/Examples/BarcodeScanner/.buckconfig @@ -0,0 +1,6 @@ + +[android] + target = Google Inc.:Google APIs:23 + +[maven_repositories] + central = https://repo1.maven.org/maven2 diff --git a/Examples/BarcodeScanner/.flowconfig b/Examples/BarcodeScanner/.flowconfig new file mode 100644 index 0000000..e28e2f5 --- /dev/null +++ b/Examples/BarcodeScanner/.flowconfig @@ -0,0 +1,41 @@ +[ignore] + +# We fork some components by platform. +.*/*.android.js + +# Ignore templates with `@flow` in header +.*/local-cli/generator.* + +# Ignore malformed json +.*/node_modules/y18n/test/.*\.json + +[include] + +[libs] +node_modules/react-native/Libraries/react-native/react-native-interface.js +node_modules/react-native/flow +flow/ + +[options] +module.system=haste + +esproposal.class_static_fields=enable +esproposal.class_instance_fields=enable + +experimental.strict_type_args=true + +munge_underscores=true + +module.name_mapper='^image![a-zA-Z0-9$_-]+$' -> 'GlobalImageStub' +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\)$' -> 'RelativeImageStub' + +suppress_type=$FlowIssue +suppress_type=$FlowFixMe +suppress_type=$FixMe + +suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) +suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-7]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ +suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy + +[version] +^0.27.0 diff --git a/Examples/BarcodeScanner/.gitignore b/Examples/BarcodeScanner/.gitignore new file mode 100644 index 0000000..eb1535e --- /dev/null +++ b/Examples/BarcodeScanner/.gitignore @@ -0,0 +1,41 @@ +# 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 +project.xcworkspace + +# Android/IJ +# +*.iml +.idea +.gradle +local.properties + +# node.js +# +node_modules/ +npm-debug.log + +# BUCK +buck-out/ +\.buckd/ +android/app/libs +android/keystores/debug.keystore diff --git a/Examples/BarcodeScanner/.watchmanconfig b/Examples/BarcodeScanner/.watchmanconfig new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/Examples/BarcodeScanner/.watchmanconfig @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/Examples/BarcodeScanner/android/app/BUCK b/Examples/BarcodeScanner/android/app/BUCK new file mode 100644 index 0000000..4aecac0 --- /dev/null +++ b/Examples/BarcodeScanner/android/app/BUCK @@ -0,0 +1,66 @@ +import re + +# 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 +# + +lib_deps = [] +for jarfile in glob(['libs/*.jar']): + name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) + lib_deps.append(':' + name) + prebuilt_jar( + name = name, + binary_jar = jarfile, + ) + +for aarfile in glob(['libs/*.aar']): + name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile) + lib_deps.append(':' + name) + android_prebuilt_aar( + name = name, + aar = aarfile, + ) + +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.barcodescanner', +) + +android_resource( + name = 'res', + res = 'src/main/res', + package = 'com.barcodescanner', +) + +android_binary( + name = 'app', + package_type = 'debug', + manifest = 'src/main/AndroidManifest.xml', + keystore = '//android/keystores:debug', + deps = [ + ':app-code', + ], +) diff --git a/Examples/BarcodeScanner/android/app/build.gradle b/Examples/BarcodeScanner/android/app/build.gradle new file mode 100644 index 0000000..8ac1c06 --- /dev/null +++ b/Examples/BarcodeScanner/android/app/build.gradle @@ -0,0 +1,140 @@ +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 + * entryFile: "index.android.js", + * + * // 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, + * + * // 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: [] + * ] + */ + +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 + +android { + compileSdkVersion 23 + buildToolsVersion "23.0.1" + + defaultConfig { + applicationId "com.barcodescanner" + minSdkVersion 16 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + ndk { + abiFilters "armeabi-v7a", "x86" + } + } + splits { + abi { + reset() + enable enableSeparateBuildPerCPUArchitecture + universalApk false // If true, also generate a universal APK + include "armeabi-v7a", "x86" + } + } + buildTypes { + release { + 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: + // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits + def versionCodes = ["armeabi-v7a":1, "x86":2] + 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 { + compile project(':react-native-barcodescanner') + compile fileTree(dir: "libs", include: ["*.jar"]) + compile "com.android.support:appcompat-v7:23.0.1" + compile "com.facebook.react:react-native:+" // From node_modules +} + +// 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' +} diff --git a/Examples/BarcodeScanner/android/app/proguard-rules.pro b/Examples/BarcodeScanner/android/app/proguard-rules.pro new file mode 100644 index 0000000..48361a9 --- /dev/null +++ b/Examples/BarcodeScanner/android/app/proguard-rules.pro @@ -0,0 +1,66 @@ +# 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: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Disabling obfuscation is useful if you collect stack traces from production crashes +# (unless you are using a system that supports de-obfuscate the stack traces). +-dontobfuscate + +# React Native + +# Keep our interfaces so they can be used by other ProGuard rules. +# See http://sourceforge.net/p/proguard/bugs/466/ +-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip +-keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters +-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip + +# Do not strip any method/class that is annotated with @DoNotStrip +-keep @com.facebook.proguard.annotations.DoNotStrip class * +-keep @com.facebook.common.internal.DoNotStrip class * +-keepclassmembers class * { + @com.facebook.proguard.annotations.DoNotStrip *; + @com.facebook.common.internal.DoNotStrip *; +} + +-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { + void set*(***); + *** get*(); +} + +-keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } +-keep class * extends com.facebook.react.bridge.NativeModule { *; } +-keepclassmembers,includedescriptorclasses class * { native ; } +-keepclassmembers class * { @com.facebook.react.uimanager.UIProp ; } +-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; } +-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; } + +-dontwarn com.facebook.react.** + +# okhttp + +-keepattributes Signature +-keepattributes *Annotation* +-keep class okhttp3.** { *; } +-keep interface okhttp3.** { *; } +-dontwarn okhttp3.** + +# okio + +-keep class sun.misc.Unsafe { *; } +-dontwarn java.nio.file.* +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement +-dontwarn okio.** diff --git a/Examples/BarcodeScanner/android/app/src/main/AndroidManifest.xml b/Examples/BarcodeScanner/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..704df82 --- /dev/null +++ b/Examples/BarcodeScanner/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Examples/BarcodeScanner/android/app/src/main/java/com/barcodescanner/MainActivity.java b/Examples/BarcodeScanner/android/app/src/main/java/com/barcodescanner/MainActivity.java new file mode 100644 index 0000000..656ff43 --- /dev/null +++ b/Examples/BarcodeScanner/android/app/src/main/java/com/barcodescanner/MainActivity.java @@ -0,0 +1,15 @@ +package com.barcodescanner; + +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 "BarcodeScanner"; + } +} diff --git a/Examples/BarcodeScanner/android/app/src/main/java/com/barcodescanner/MainApplication.java b/Examples/BarcodeScanner/android/app/src/main/java/com/barcodescanner/MainApplication.java new file mode 100644 index 0000000..3c195fb --- /dev/null +++ b/Examples/BarcodeScanner/android/app/src/main/java/com/barcodescanner/MainApplication.java @@ -0,0 +1,37 @@ +package com.barcodescanner; + +import android.app.Application; +import android.util.Log; + +import com.facebook.react.ReactApplication; +import com.eguma.barcodescanner.BarcodeScannerPackage; +import com.facebook.react.ReactInstanceManager; +import com.facebook.react.ReactNativeHost; +import com.facebook.react.ReactPackage; +import com.facebook.react.shell.MainReactPackage; + +import java.util.Arrays; +import java.util.List; + +public class MainApplication extends Application implements ReactApplication { + + private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { + @Override + protected boolean getUseDeveloperSupport() { + return BuildConfig.DEBUG; + } + + @Override + protected List getPackages() { + return Arrays.asList( + new MainReactPackage(), + new BarcodeScannerPackage() + ); + } + }; + + @Override + public ReactNativeHost getReactNativeHost() { + return mReactNativeHost; + } +} diff --git a/Examples/BarcodeScanner/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/Examples/BarcodeScanner/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cde69bcccec65160d92116f20ffce4fce0b5245c GIT binary patch literal 3418 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 literal 0 HcmV?d00001 diff --git a/Examples/BarcodeScanner/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/Examples/BarcodeScanner/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa42f0e7b91d006d22352c9ff2f134e504e3c1d GIT binary patch literal 4842 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 literal 0 HcmV?d00001 diff --git a/Examples/BarcodeScanner/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/Examples/BarcodeScanner/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..324e72cdd7480cb983fa1bcc7ce686e51ef87fe7 GIT binary patch literal 7718 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 literal 0 HcmV?d00001 diff --git a/Examples/BarcodeScanner/android/app/src/main/res/values/strings.xml b/Examples/BarcodeScanner/android/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..22bb986 --- /dev/null +++ b/Examples/BarcodeScanner/android/app/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + + BarcodeScanner + diff --git a/Examples/BarcodeScanner/android/app/src/main/res/values/styles.xml b/Examples/BarcodeScanner/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..319eb0c --- /dev/null +++ b/Examples/BarcodeScanner/android/app/src/main/res/values/styles.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/Examples/BarcodeScanner/android/build.gradle b/Examples/BarcodeScanner/android/build.gradle new file mode 100644 index 0000000..fcba4c5 --- /dev/null +++ b/Examples/BarcodeScanner/android/build.gradle @@ -0,0 +1,24 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.3.1' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + mavenLocal() + jcenter() + maven { + // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm + url "$rootDir/../node_modules/react-native/android" + } + } +} diff --git a/Examples/BarcodeScanner/android/gradle.properties b/Examples/BarcodeScanner/android/gradle.properties new file mode 100644 index 0000000..1fd964e --- /dev/null +++ b/Examples/BarcodeScanner/android/gradle.properties @@ -0,0 +1,20 @@ +# 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 + +android.useDeprecatedNdk=true diff --git a/Examples/BarcodeScanner/android/gradle/wrapper/gradle-wrapper.jar b/Examples/BarcodeScanner/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..b5166dad4d90021f6a0b45268c0755719f1d5cd4 GIT binary patch literal 52266 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 z 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 literal 0 HcmV?d00001 diff --git a/Examples/BarcodeScanner/android/gradle/wrapper/gradle-wrapper.properties b/Examples/BarcodeScanner/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..b9fbfab --- /dev/null +++ b/Examples/BarcodeScanner/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip diff --git a/Examples/BarcodeScanner/android/gradlew b/Examples/BarcodeScanner/android/gradlew new file mode 100755 index 0000000..91a7e26 --- /dev/null +++ b/Examples/BarcodeScanner/android/gradlew @@ -0,0 +1,164 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# 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 +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# 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\"`/" >&- +APP_HOME="`pwd -P`" +cd "$SAVED" >&- + +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" ] ; 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, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # 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=$((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 + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/Examples/BarcodeScanner/android/gradlew.bat b/Examples/BarcodeScanner/android/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/Examples/BarcodeScanner/android/gradlew.bat @@ -0,0 +1,90 @@ +@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 + +@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= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@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 Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_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=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +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 diff --git a/Examples/BarcodeScanner/android/keystores/BUCK b/Examples/BarcodeScanner/android/keystores/BUCK new file mode 100644 index 0000000..15da20e --- /dev/null +++ b/Examples/BarcodeScanner/android/keystores/BUCK @@ -0,0 +1,8 @@ +keystore( + name = 'debug', + store = 'debug.keystore', + properties = 'debug.keystore.properties', + visibility = [ + 'PUBLIC', + ], +) diff --git a/Examples/BarcodeScanner/android/keystores/debug.keystore.properties b/Examples/BarcodeScanner/android/keystores/debug.keystore.properties new file mode 100644 index 0000000..121bfb4 --- /dev/null +++ b/Examples/BarcodeScanner/android/keystores/debug.keystore.properties @@ -0,0 +1,4 @@ +key.store=debug.keystore +key.alias=androiddebugkey +key.store.password=android +key.alias.password=android diff --git a/Examples/BarcodeScanner/android/settings.gradle b/Examples/BarcodeScanner/android/settings.gradle new file mode 100644 index 0000000..be47b0e --- /dev/null +++ b/Examples/BarcodeScanner/android/settings.gradle @@ -0,0 +1,5 @@ +rootProject.name = 'BarcodeScanner' + +include ':app' +include ':react-native-barcodescanner' +project(':react-native-barcodescanner').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-barcodescanner/android') diff --git a/Examples/BarcodeScanner/index.android.js b/Examples/BarcodeScanner/index.android.js new file mode 100644 index 0000000..14d89ed --- /dev/null +++ b/Examples/BarcodeScanner/index.android.js @@ -0,0 +1,65 @@ +import React, { Component } from 'react'; +import { + AppRegistry, + StyleSheet, + Text, + Vibration, + View +} from 'react-native'; +import BarcodeScanner from 'react-native-barcodescanner'; + +class BarcodeScannerApp extends Component { + constructor(props) { + super(props); + + this.state = { + barcode: '', + cameraType: 'back', + text: 'Scan Barcode', + torchMode: 'off', + type: '', + }; + } + + barcodeReceived(e) { + if (e.data !== this.state.barcode || e.type !== this.state.type) Vibration.vibrate(); + + this.setState({ + barcode: e.data, + text: `${e.data} (${e.type})`, + type: e.type, + }); + } + + render() { + return ( + + + + {this.state.text} + + + ); + } +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + }, + statusBar: { + height: 100, + alignItems: 'center', + justifyContent: 'center', + }, + statusBarText: { + fontSize: 20, + }, +}); + +AppRegistry.registerComponent('BarcodeScanner', () => BarcodeScannerApp); diff --git a/Examples/BarcodeScanner/index.ios.js b/Examples/BarcodeScanner/index.ios.js new file mode 100644 index 0000000..1bb02cc --- /dev/null +++ b/Examples/BarcodeScanner/index.ios.js @@ -0,0 +1,53 @@ +/** + * Sample React Native App + * https://github.com/facebook/react-native + * @flow + */ + +import React, { Component } from 'react'; +import { + AppRegistry, + StyleSheet, + Text, + View +} from 'react-native'; + +class BarcodeScanner extends Component { + render() { + return ( + + + Welcome to React Native! + + + To get started, edit index.ios.js + + + Press Cmd+R to reload,{'\n'} + Cmd+D or shake for dev menu + + + ); + } +} + +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, + }, +}); + +AppRegistry.registerComponent('BarcodeScanner', () => BarcodeScanner); diff --git a/Examples/BarcodeScanner/ios/BarcodeScanner.xcodeproj/project.pbxproj b/Examples/BarcodeScanner/ios/BarcodeScanner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..7fa67e0 --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScanner.xcodeproj/project.pbxproj @@ -0,0 +1,765 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; + 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; + 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; + 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; + 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; + 00E356F31AD99517003FC87E /* BarcodeScannerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* BarcodeScannerTests.m */; }; + 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; + 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; + 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; + 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; + 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; + 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; + 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; + 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; + 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTActionSheet; + }; + 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTGeolocation; + }; + 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B5115D1A9E6B3D00147676; + remoteInfo = RCTImage; + }; + 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B511DB1A9E6C8500147676; + remoteInfo = RCTNetwork; + }; + 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; + remoteInfo = RCTVibration; + }; + 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 13B07F861A680F5B00A75B9A; + remoteInfo = BarcodeScanner; + }; + 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTSettings; + }; + 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 3C86DF461ADF2C930047B81A; + remoteInfo = RCTWebSocket; + }; + 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; + remoteInfo = React; + }; + 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 134814201AA4EA6300B7C361; + remoteInfo = RCTLinking; + }; + 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B5119B1A9E6C1200147676; + remoteInfo = RCTText; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = main.jsbundle; path = main.jsbundle; sourceTree = ""; }; + 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = ../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj; sourceTree = ""; }; + 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = ../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj; sourceTree = ""; }; + 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = ../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj; sourceTree = ""; }; + 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = ../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj; sourceTree = ""; }; + 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = ../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj; sourceTree = ""; }; + 00E356EE1AD99517003FC87E /* BarcodeScannerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BarcodeScannerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 00E356F21AD99517003FC87E /* BarcodeScannerTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BarcodeScannerTests.m; sourceTree = ""; }; + 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = ../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj; sourceTree = ""; }; + 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = ../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj; sourceTree = ""; }; + 13B07F961A680F5B00A75B9A /* BarcodeScanner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BarcodeScanner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = BarcodeScanner/AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = BarcodeScanner/AppDelegate.m; sourceTree = ""; }; + 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = BarcodeScanner/Images.xcassets; sourceTree = ""; }; + 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = BarcodeScanner/Info.plist; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = BarcodeScanner/main.m; sourceTree = ""; }; + 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = ../node_modules/react-native/React/React.xcodeproj; sourceTree = ""; }; + 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = ../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj; sourceTree = ""; }; + 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = ../node_modules/react-native/Libraries/Text/RCTText.xcodeproj; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 00E356EB1AD99517003FC87E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 146834051AC3E58100842450 /* libReact.a in Frameworks */, + 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, + 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, + 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, + 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, + 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, + 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, + 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, + 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, + 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 00C302A81ABCB8CE00DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302B61ABCB90400DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302BC1ABCB91800DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302D41ABCB9D200DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, + ); + name = Products; + sourceTree = ""; + }; + 00C302E01ABCB9EE00DB3ED1 /* Products */ = { + isa = PBXGroup; + children = ( + 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, + ); + name = Products; + sourceTree = ""; + }; + 00E356EF1AD99517003FC87E /* BarcodeScannerTests */ = { + isa = PBXGroup; + children = ( + 00E356F21AD99517003FC87E /* BarcodeScannerTests.m */, + 00E356F01AD99517003FC87E /* Supporting Files */, + ); + path = BarcodeScannerTests; + sourceTree = ""; + }; + 00E356F01AD99517003FC87E /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 00E356F11AD99517003FC87E /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 139105B71AF99BAD00B5F7CC /* Products */ = { + isa = PBXGroup; + children = ( + 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, + ); + name = Products; + sourceTree = ""; + }; + 139FDEE71B06529A00C62182 /* Products */ = { + isa = PBXGroup; + children = ( + 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, + ); + name = Products; + sourceTree = ""; + }; + 13B07FAE1A68108700A75B9A /* BarcodeScanner */ = { + isa = PBXGroup; + children = ( + 008F07F21AC5B25A0029DE68 /* main.jsbundle */, + 13B07FAF1A68108700A75B9A /* AppDelegate.h */, + 13B07FB01A68108700A75B9A /* AppDelegate.m */, + 13B07FB51A68108700A75B9A /* Images.xcassets */, + 13B07FB61A68108700A75B9A /* Info.plist */, + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, + 13B07FB71A68108700A75B9A /* main.m */, + ); + name = BarcodeScanner; + sourceTree = ""; + }; + 146834001AC3E56700842450 /* Products */ = { + isa = PBXGroup; + children = ( + 146834041AC3E56700842450 /* libReact.a */, + ); + name = Products; + sourceTree = ""; + }; + 78C398B11ACF4ADC00677621 /* Products */ = { + isa = PBXGroup; + children = ( + 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, + ); + name = Products; + sourceTree = ""; + }; + 832341AE1AAA6A7D00B99B32 /* Libraries */ = { + isa = PBXGroup; + children = ( + 146833FF1AC3E56700842450 /* React.xcodeproj */, + 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, + 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, + 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, + 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, + 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, + 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, + 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, + 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, + 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, + ); + name = Libraries; + sourceTree = ""; + }; + 832341B11AAA6A8300B99B32 /* Products */ = { + isa = PBXGroup; + children = ( + 832341B51AAA6A8300B99B32 /* libRCTText.a */, + ); + name = Products; + sourceTree = ""; + }; + 83CBB9F61A601CBA00E9B192 = { + isa = PBXGroup; + children = ( + 13B07FAE1A68108700A75B9A /* BarcodeScanner */, + 832341AE1AAA6A7D00B99B32 /* Libraries */, + 00E356EF1AD99517003FC87E /* BarcodeScannerTests */, + 83CBBA001A601CBA00E9B192 /* Products */, + ); + indentWidth = 2; + sourceTree = ""; + tabWidth = 2; + }; + 83CBBA001A601CBA00E9B192 /* Products */ = { + isa = PBXGroup; + children = ( + 13B07F961A680F5B00A75B9A /* BarcodeScanner.app */, + 00E356EE1AD99517003FC87E /* BarcodeScannerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 00E356ED1AD99517003FC87E /* BarcodeScannerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "BarcodeScannerTests" */; + buildPhases = ( + 00E356EA1AD99517003FC87E /* Sources */, + 00E356EB1AD99517003FC87E /* Frameworks */, + 00E356EC1AD99517003FC87E /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 00E356F51AD99517003FC87E /* PBXTargetDependency */, + ); + name = BarcodeScannerTests; + productName = BarcodeScannerTests; + productReference = 00E356EE1AD99517003FC87E /* BarcodeScannerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 13B07F861A680F5B00A75B9A /* BarcodeScanner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "BarcodeScanner" */; + buildPhases = ( + 13B07F871A680F5B00A75B9A /* Sources */, + 13B07F8C1A680F5B00A75B9A /* Frameworks */, + 13B07F8E1A680F5B00A75B9A /* Resources */, + 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = BarcodeScanner; + productName = "Hello World"; + productReference = 13B07F961A680F5B00A75B9A /* BarcodeScanner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 83CBB9F71A601CBA00E9B192 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + ORGANIZATIONNAME = Facebook; + TargetAttributes = { + 00E356ED1AD99517003FC87E = { + CreatedOnToolsVersion = 6.2; + TestTargetID = 13B07F861A680F5B00A75B9A; + }; + }; + }; + buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "BarcodeScanner" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 83CBB9F61A601CBA00E9B192; + productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; + ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; + }, + { + ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; + ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; + }, + { + ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; + ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; + }, + { + ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; + ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; + }, + { + ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; + ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; + }, + { + ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; + ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; + }, + { + ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; + ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; + }, + { + ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; + ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; + }, + { + ProductGroup = 139FDEE71B06529A00C62182 /* Products */; + ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; + }, + { + ProductGroup = 146834001AC3E56700842450 /* Products */; + ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 13B07F861A680F5B00A75B9A /* BarcodeScanner */, + 00E356ED1AD99517003FC87E /* BarcodeScannerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTActionSheet.a; + remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTGeolocation.a; + remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTImage.a; + remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTNetwork.a; + remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTVibration.a; + remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTSettings.a; + remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTWebSocket.a; + remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 146834041AC3E56700842450 /* libReact.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libReact.a; + remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTLinking.a; + remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTText.a; + remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 00E356EC1AD99517003FC87E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F8E1A680F5B00A75B9A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, + 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, + ); + 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/packager/react-native-xcode.sh"; + showEnvVarsInLog = 1; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 00E356EA1AD99517003FC87E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 00E356F31AD99517003FC87E /* BarcodeScannerTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 13B07F871A680F5B00A75B9A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, + 13B07FC11A68108700A75B9A /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 13B07F861A680F5B00A75B9A /* BarcodeScanner */; + targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 13B07FB21A68108700A75B9A /* Base */, + ); + name = LaunchScreen.xib; + path = BarcodeScanner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 00E356F61AD99517003FC87E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = BarcodeScannerTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/BarcodeScanner.app/BarcodeScanner"; + }; + name = Debug; + }; + 00E356F71AD99517003FC87E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + COPY_PHASE_STRIP = NO; + INFOPLIST_FILE = BarcodeScannerTests/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 8.2; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/BarcodeScanner.app/BarcodeScanner"; + }; + name = Release; + }; + 13B07F941A680F5B00A75B9A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + DEAD_CODE_STRIPPING = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + ); + INFOPLIST_FILE = "BarcodeScanner/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_NAME = BarcodeScanner; + }; + name = Debug; + }; + 13B07F951A680F5B00A75B9A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + ); + INFOPLIST_FILE = "BarcodeScanner/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-lc++", + ); + PRODUCT_NAME = BarcodeScanner; + }; + name = Release; + }; + 83CBBA201A601CBA00E9B192 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + 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; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + 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; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + ); + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 83CBBA211A601CBA00E9B192 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + 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_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; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../node_modules/react-native/React/**", + ); + IPHONEOS_DEPLOYMENT_TARGET = 7.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "BarcodeScannerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 00E356F61AD99517003FC87E /* Debug */, + 00E356F71AD99517003FC87E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "BarcodeScanner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 13B07F941A680F5B00A75B9A /* Debug */, + 13B07F951A680F5B00A75B9A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "BarcodeScanner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 83CBBA201A601CBA00E9B192 /* Debug */, + 83CBBA211A601CBA00E9B192 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; +} diff --git a/Examples/BarcodeScanner/ios/BarcodeScanner.xcodeproj/xcshareddata/xcschemes/BarcodeScanner.xcscheme b/Examples/BarcodeScanner/ios/BarcodeScanner.xcodeproj/xcshareddata/xcschemes/BarcodeScanner.xcscheme new file mode 100644 index 0000000..13724bb --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScanner.xcodeproj/xcshareddata/xcschemes/BarcodeScanner.xcscheme @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/BarcodeScanner/ios/BarcodeScanner/AppDelegate.h b/Examples/BarcodeScanner/ios/BarcodeScanner/AppDelegate.h new file mode 100644 index 0000000..a9654d5 --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScanner/AppDelegate.h @@ -0,0 +1,16 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +@interface AppDelegate : UIResponder + +@property (nonatomic, strong) UIWindow *window; + +@end diff --git a/Examples/BarcodeScanner/ios/BarcodeScanner/AppDelegate.m b/Examples/BarcodeScanner/ios/BarcodeScanner/AppDelegate.m new file mode 100644 index 0000000..2283cd9 --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScanner/AppDelegate.m @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import "AppDelegate.h" + +#import "RCTBundleURLProvider.h" +#import "RCTRootView.h" + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + NSURL *jsCodeLocation; + + [[RCTBundleURLProvider sharedSettings] setDefaults]; + jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; + + RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation + moduleName:@"BarcodeScanner" + initialProperties:nil + launchOptions:launchOptions]; + 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; +} + +@end diff --git a/Examples/BarcodeScanner/ios/BarcodeScanner/Base.lproj/LaunchScreen.xib b/Examples/BarcodeScanner/ios/BarcodeScanner/Base.lproj/LaunchScreen.xib new file mode 100644 index 0000000..91050cc --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScanner/Base.lproj/LaunchScreen.xib @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/BarcodeScanner/ios/BarcodeScanner/Images.xcassets/AppIcon.appiconset/Contents.json b/Examples/BarcodeScanner/ios/BarcodeScanner/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..118c98f --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScanner/Images.xcassets/AppIcon.appiconset/Contents.json @@ -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" + } +} \ No newline at end of file diff --git a/Examples/BarcodeScanner/ios/BarcodeScanner/Info.plist b/Examples/BarcodeScanner/ios/BarcodeScanner/Info.plist new file mode 100644 index 0000000..e98ebb0 --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScanner/Info.plist @@ -0,0 +1,54 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + NSLocationWhenInUseUsageDescription + + NSAppTransportSecurity + + + NSExceptionDomains + + localhost + + NSTemporaryExceptionAllowsInsecureHTTPLoads + + + + + + diff --git a/Examples/BarcodeScanner/ios/BarcodeScanner/main.m b/Examples/BarcodeScanner/ios/BarcodeScanner/main.m new file mode 100644 index 0000000..3d767fc --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScanner/main.m @@ -0,0 +1,18 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/Examples/BarcodeScanner/ios/BarcodeScannerTests/BarcodeScannerTests.m b/Examples/BarcodeScanner/ios/BarcodeScannerTests/BarcodeScannerTests.m new file mode 100644 index 0000000..98d89c0 --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScannerTests/BarcodeScannerTests.m @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2015-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#import +#import + +#import "RCTLog.h" +#import "RCTRootView.h" + +#define TIMEOUT_SECONDS 600 +#define TEXT_TO_LOOK_FOR @"Welcome to React Native!" + +@interface BarcodeScannerTests : XCTestCase + +@end + +@implementation BarcodeScannerTests + +- (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 = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; + NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; + BOOL foundElement = NO; + + __block NSString *redboxError = nil; + RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { + if (level >= RCTLogLevelError) { + redboxError = message; + } + }); + + 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; + }]; + } + + RCTSetLogFunction(RCTDefaultLogFunction); + + XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); + XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); +} + + +@end diff --git a/Examples/BarcodeScanner/ios/BarcodeScannerTests/Info.plist b/Examples/BarcodeScanner/ios/BarcodeScannerTests/Info.plist new file mode 100644 index 0000000..886825c --- /dev/null +++ b/Examples/BarcodeScanner/ios/BarcodeScannerTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/Examples/BarcodeScanner/package.json b/Examples/BarcodeScanner/package.json new file mode 100644 index 0000000..5eb46c2 --- /dev/null +++ b/Examples/BarcodeScanner/package.json @@ -0,0 +1,13 @@ +{ + "name": "BarcodeScanner", + "version": "0.0.1", + "private": true, + "scripts": { + "start": "node_modules/react-native/packager/packager.sh" + }, + "dependencies": { + "react": "15.2.1", + "react-native": "^0.29.2", + "react-native-barcodescanner": "../../" + } +} diff --git a/Examples/Testcodes.pdf b/Examples/Testcodes.pdf new file mode 100644 index 0000000000000000000000000000000000000000..27ff01bf0e9784d7cc431489892bf05f45eed63f GIT binary patch literal 175741 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 p*9?JeLHDB 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 z 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 Zv8be?C^e0j3wTE}FPEyStG^pB7XS;nHa-9V literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 4241258..be6b219 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,6 @@ A barcode scanner component for react native android. The library uses https://github.com/zxing/zxing to decode the barcodes. For iOS you can use https://github.com/lwansbrough/react-native-camera. -### Version 3.0.0 - -With version 3.0.0 react-native-barcodescanner doesn't depend anymore on https://github.com/dm77/barcodescanner, but directly on https://github.com/zxing/zxing. The code is still heavily influenced by it but simplified for our use case. The viewfinder is rendered in javascript and not anymore directly in java. - ### React Native dependencies - Version 0.1.4 for React Native <=0.18 @@ -18,7 +14,11 @@ With version 3.0.0 react-native-barcodescanner doesn't depend anymore on https:/ npm i --save react-native-barcodescanner ``` -### Add it to your android project +### Link it to your android project + +You can link it simply by running `react-native link`. + +#### Manual linking * In `android/settings.gradle` @@ -38,17 +38,17 @@ npm i --save react-native-barcodescanner } ``` -* register module (in MainActivity.java) +* register module (in MainApplication.java) Add the following **import** statement: ```Java import com.eguma.barcodescanner.BarcodeScannerPackage; ``` - ...and then add `BarcodeScannerPackage` to exported package list *(MainActivity.java#getPackages)*: + ...and then add `BarcodeScannerPackage` to exported package list *(MainApplication.java#getPackages)*: ```Java - public class MainActivity extends ReactActivity { + public class MainApplication extends Application implements ReactApplication { // (...) @Override @@ -61,7 +61,8 @@ npm i --save react-native-barcodescanner } ``` -## Example +## Usage + ```javascript import React, { AppRegistry, @@ -69,7 +70,7 @@ import React, { } from 'react-native'; import BarcodeScanner from 'react-native-barcodescanner'; -class BarcodeScannerExampleApp extends Component { +class BarcodeScannerApp extends Component { constructor(props) { super(props); @@ -96,9 +97,23 @@ class BarcodeScannerExampleApp extends Component { } } -AppRegistry.registerComponent('BarcodeScannerExampleApp', () => BarcodeScannerExampleApp); +AppRegistry.registerComponent('BarcodeScannerApp', () => BarcodeScannerApp); ``` +## Example + +Try the included [BarcodeScanner example](https://github.com/ideacreation/react-native-barcodescanner/tree/master/Examples/BarcodeScanner) yourself: + +```sh +git clone git@github.com:ideacreation/react-native-barcodescanner.git +cd react-native-barcodescanner/Examples/BarcodeScanner +npm install +react-native run-android + +``` + +To test the example you can scan the barcodes in the [Testcodes.pdf](https://github.com/ideacreation/react-native-barcodescanner/tree/master/Examples/Testcodes.pdf) file. + ## Properties #### `onBarCodeRead`