├── .npmignore
├── .travis.yml
├── android
├── src
│ └── main
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ └── com
│ │ └── apsl
│ │ └── versionnumber
│ │ ├── RNVersionNumberPackage.java
│ │ └── RNVersionNumberModule.java
└── build.gradle
├── index.d.ts
├── ios
├── RNVersionNumber.h
├── RNVersionNumber.m
└── RNVersionNumber.xcodeproj
│ └── project.pbxproj
├── index.js
├── react-native-version-number.podspec
├── .gitignore
├── package.json
├── LICENSE
├── README.md
└── .eslintrc
/.npmignore:
--------------------------------------------------------------------------------
1 | .git
2 | .idea
3 | .eslintrc
4 | .travis.yml
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 6.4.0
4 |
--------------------------------------------------------------------------------
/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/index.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'react-native-version-number' {
2 | export const appVersion: string
3 | export const buildVersion: string
4 | export const bundleIdentifier: string
5 | }
--------------------------------------------------------------------------------
/ios/RNVersionNumber.h:
--------------------------------------------------------------------------------
1 | #if __has_include()
2 | #import
3 | #else
4 | #import "RCTBridgeModule.h"
5 | #endif
6 |
7 | @interface RNVersionNumber : NSObject
8 |
9 | @end
10 |
11 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | /* @flow */
2 |
3 | import { NativeModules } from 'react-native';
4 |
5 | const { RNVersionNumber } = NativeModules;
6 |
7 | type VersionObject = {
8 | appVersion: ?string,
9 | buildVersion: ?string,
10 | bundleIdentifier: ?string
11 | };
12 |
13 | const VersionNumber: VersionObject = {
14 | appVersion: RNVersionNumber && RNVersionNumber.appVersion,
15 | buildVersion: RNVersionNumber && RNVersionNumber.buildVersion,
16 | bundleIdentifier: RNVersionNumber && RNVersionNumber.bundleIdentifier
17 | };
18 |
19 | export default VersionNumber;
20 |
--------------------------------------------------------------------------------
/ios/RNVersionNumber.m:
--------------------------------------------------------------------------------
1 |
2 | #import "RNVersionNumber.h"
3 |
4 | @implementation RNVersionNumber
5 |
6 | - (dispatch_queue_t)methodQueue
7 | {
8 | return dispatch_get_main_queue();
9 | }
10 | RCT_EXPORT_MODULE()
11 |
12 | - (NSDictionary *)constantsToExport
13 | {
14 | return @{@"appVersion" : [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"],
15 | @"buildVersion": [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey],
16 | @"bundleIdentifier" : [[NSBundle mainBundle] bundleIdentifier]
17 | };
18 |
19 | }
20 |
21 | + (BOOL)requiresMainQueueSetup
22 | {
23 | return YES;
24 | }
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/react-native-version-number.podspec:
--------------------------------------------------------------------------------
1 | require 'json'
2 | package_json = JSON.parse(File.read('package.json'))
3 |
4 | Pod::Spec.new do |s|
5 |
6 | s.name = "react-native-version-number"
7 | s.version = package_json["version"]
8 | s.summary = package_json["description"]
9 | s.homepage = "https://github.com/APSL/react-native-version-number"
10 | s.license = package_json["license"]
11 | s.author = { package_json["author"] => package_json["author"] }
12 | s.platform = :ios, "7.0"
13 | s.source = { :git => "#{package_json["repository"]["url"]}.git", :tag => "v#{s.version}" }
14 | s.source_files = 'ios/*.{h,m}'
15 | s.dependency 'React'
16 |
17 | end
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 |
2 | apply plugin: 'com.android.library'
3 |
4 | def DEFAULT_COMPILE_SDK_VERSION = 27
5 | def DEFAULT_BUILD_TOOLS_VERSION = "27.0.3"
6 | def DEFAULT_TARGET_SDK_VERSION = 27
7 |
8 | android {
9 | compileSdkVersion project.hasProperty('compileSdkVersion') ? project.compileSdkVersion : DEFAULT_COMPILE_SDK_VERSION
10 | buildToolsVersion project.hasProperty('buildToolsVersion') ? project.buildToolsVersion : DEFAULT_BUILD_TOOLS_VERSION
11 |
12 | defaultConfig {
13 | minSdkVersion 16
14 | targetSdkVersion project.hasProperty('targetSdkVersion') ? project.targetSdkVersion : DEFAULT_TARGET_SDK_VERSION
15 | versionCode 1
16 | versionName "1.0"
17 | ndk {
18 | abiFilters "armeabi-v7a", "x86"
19 | }
20 | }
21 | lintOptions {
22 | warning 'InvalidPackage'
23 | }
24 | }
25 |
26 | dependencies {
27 | implementation 'com.facebook.react:react-native:+'
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | !**/*.xcodeproj
3 | !**/*.pbxproj
4 | !**/*.xcworkspacedata
5 | !**/*.xcsettings
6 | !**/*.xcscheme
7 | *.pbxuser
8 | !default.pbxuser
9 | *.mode1v3
10 | !default.mode1v3
11 | *.mode2v3
12 | !default.mode2v3
13 | *.perspectivev3
14 | !default.perspectivev3
15 | xcuserdata
16 | *.xccheckout
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 | *.xcuserstate
22 | project.xcworkspace
23 |
24 | # Gradle
25 | /build/
26 | /Examples/**/android/app/build/
27 | /Examples/**/android/app/gradle/
28 | /Examples/**/android/app/gradlew
29 | /Examples/**/android/app/gradlew.bat
30 | /ReactAndroid/build/
31 |
32 | # Buck
33 | .buckd
34 | buck-out
35 | /ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/
36 | /ReactAndroid/src/main/jni/prebuilt/lib/x86/
37 |
38 | # Android
39 | .idea
40 | .gradle
41 | local.properties
42 | *.iml
43 |
44 | # Node
45 | node_modules
46 | *.log
47 | .nvm
48 |
49 | # OS X
50 | .DS_Store
51 |
52 | # Test generated files
53 | /ReactAndroid/src/androidTest/assets/AndroidTestBundle.js
54 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-native-version-number",
3 | "version": "0.3.6",
4 | "description": "Access app version inside React Native",
5 | "main": "index.js",
6 | "scripts": {
7 | "lint": "eslint index.js",
8 | "test": "npm run lint"
9 | },
10 | "repository": {
11 | "type": "git",
12 | "url": "https://github.com/APSL/react-native-version-number.git"
13 | },
14 | "tags": [
15 | "react",
16 | "react-native",
17 | "react-component",
18 | "ios"
19 | ],
20 | "keywords": [
21 | "react",
22 | "react-native",
23 | "ios",
24 | "react-component"
25 | ],
26 | "author": "Alvaro Medina Ballester ",
27 | "license": "MIT",
28 | "bugs": {
29 | "url": "https://github.com/APSL/react-native-version-number/issues"
30 | },
31 | "homepage": "https://github.com/APSL/react-native-version-number#readme",
32 | "devDependencies": {
33 | "babel-eslint": "^6.1.2",
34 | "eslint": "^3.3.1",
35 | "eslint-plugin-react": "^6.1.2"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/android/src/main/java/com/apsl/versionnumber/RNVersionNumberPackage.java:
--------------------------------------------------------------------------------
1 |
2 | package com.apsl.versionnumber;
3 |
4 | import java.util.Arrays;
5 | import java.util.Collections;
6 | import java.util.List;
7 |
8 | import com.facebook.react.ReactPackage;
9 | import com.facebook.react.bridge.NativeModule;
10 | import com.facebook.react.bridge.ReactApplicationContext;
11 | import com.facebook.react.uimanager.ViewManager;
12 | import com.facebook.react.bridge.JavaScriptModule;
13 |
14 | public class RNVersionNumberPackage implements ReactPackage {
15 | @Override
16 | public List createNativeModules(ReactApplicationContext reactContext) {
17 | return Arrays.asList(new RNVersionNumberModule(reactContext));
18 | }
19 |
20 | // Deprecated in RN 0.47 - facebook/react-native@ce6fb33
21 | public List> createJSModules() {
22 | return Collections.emptyList();
23 | }
24 |
25 | @Override
26 | public List createViewManagers(ReactApplicationContext reactContext) {
27 | return Collections.emptyList();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 APSL
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/android/src/main/java/com/apsl/versionnumber/RNVersionNumberModule.java:
--------------------------------------------------------------------------------
1 |
2 | package com.apsl.versionnumber;
3 |
4 | import com.facebook.react.bridge.ReactApplicationContext;
5 | import com.facebook.react.bridge.ReactContextBaseJavaModule;
6 | import com.facebook.react.bridge.ReactMethod;
7 | import com.facebook.react.bridge.Callback;
8 |
9 | import android.content.pm.ApplicationInfo;
10 | import android.content.pm.PackageManager.NameNotFoundException;
11 | import android.content.pm.PackageManager;
12 |
13 | import java.util.HashMap;
14 | import java.util.Map;
15 |
16 | public class RNVersionNumberModule extends ReactContextBaseJavaModule {
17 |
18 | private final ReactApplicationContext reactContext;
19 |
20 | private static final String APP_VERSION = "appVersion";
21 | private static final String APP_BUILD = "buildVersion";
22 | private static final String APP_ID = "bundleIdentifier";
23 |
24 | public RNVersionNumberModule(ReactApplicationContext reactContext) {
25 | super(reactContext);
26 | this.reactContext = reactContext;
27 | }
28 |
29 | @Override
30 | public String getName() {
31 | return "RNVersionNumber";
32 | }
33 |
34 | @Override
35 | public Map getConstants() {
36 | final Map constants = new HashMap<>();
37 | final PackageManager packageManager = this.reactContext.getPackageManager();
38 | final String packageName = this.reactContext.getPackageName();
39 | try {
40 | constants.put(APP_VERSION, packageManager.getPackageInfo(packageName, 0).versionName);
41 | constants.put(APP_BUILD, packageManager.getPackageInfo(packageName, 0).versionCode);
42 | constants.put(APP_ID, packageName);
43 | } catch (NameNotFoundException e) {
44 | e.printStackTrace();
45 | }
46 | return constants;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # react-native-version-number
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Returns the `CFBundleShortVersionString` and the `CFBundleVersion` and `bundleIdentifier` on IOS. For Android, returns the `versionName`, `versionCode` and `applicationId`.
11 |
12 |
13 | | | iOS | Android | Example |
14 | | --- | --- | --- | --- |
15 | | appVersion | `CFBundleShortVersionString` | `versionName` | `1.0.2` |
16 | | buildVersion | `CFBundleVersion` | `versionCode` | `42` |
17 | | bundleIdentifier | `bundleIdentifier` | `applicationId` | `com.foo.bar.MyApp`|
18 |
19 |
20 | ## Getting started
21 |
22 | Install the package
23 |
24 | `$ yarn add react-native-version-number`
25 |
26 | Link
27 |
28 | `$ react-native link react-native-version-number`
29 |
30 | #### Manual installation
31 |
32 | **Android:**
33 |
34 | 1. In your android/settings.gradle file, make the following additions:
35 | ```java
36 | include ':react-native-version-number'
37 | project(':react-native-version-number').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-version-number/android')
38 | ```
39 |
40 | 2. In your android/app/build.gradle file, add the `:react-native-version-number` project as a compile-time dependency:
41 |
42 | ```java
43 | ...
44 | dependencies {
45 | ...
46 | compile project(':react-native-version-number')
47 | }
48 | ```
49 |
50 | 3. Update the MainApplication.java file to use `react-native-version-number` via the following changes:
51 |
52 | ```java
53 | import com.apsl.versionnumber.RNVersionNumberPackage;
54 |
55 | public class MainApplication extends Application implements ReactApplication {
56 |
57 | private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
58 | ...
59 | @Override
60 | protected List getPackages() {
61 | return Arrays.asList(
62 | new MainReactPackage(),
63 | new RNVersionNumberPackage(), // here
64 | );
65 | }
66 | };
67 | ...
68 | }
69 | ```
70 |
71 |
72 | ## Usage
73 | ```javascript
74 | import VersionNumber from 'react-native-version-number';
75 |
76 | console.log(VersionNumber.appVersion);
77 | console.log(VersionNumber.buildVersion);
78 | console.log(VersionNumber.bundleIdentifier);
79 |
80 | ```
81 |
82 | ## License
83 | MIT.
84 |
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "parser": "babel-eslint",
3 |
4 | "parserOptions": {
5 | "ecmaFeatures": {
6 | "jsx": true,
7 | "modules": true,
8 | "experimentalObjectRestSpread": true
9 | }
10 | },
11 |
12 | "env": {
13 | "es6": true,
14 | "jasmine": true,
15 | "node": 1
16 | },
17 |
18 | "plugins": [
19 | "react"
20 | ],
21 |
22 | "globals": {
23 | "__DEV__": true,
24 | "__dirname": false,
25 | "__fbBatchedBridgeConfig": false,
26 | "cancelAnimationFrame": false,
27 | "clearImmediate": true,
28 | "clearInterval": false,
29 | "clearTimeout": false,
30 | "console": false,
31 | "document": false,
32 | "escape": false,
33 | "exports": false,
34 | "fetch": false,
35 | "global": false,
36 | "jest": false,
37 | "Map": true,
38 | "module": false,
39 | "navigator": false,
40 | "process": false,
41 | "Promise": true,
42 | "requestAnimationFrame": true,
43 | "require": false,
44 | "Set": true,
45 | "setImmediate": true,
46 | "setInterval": false,
47 | "setTimeout": false,
48 | "window": false,
49 | "XMLHttpRequest": false,
50 | "pit": false,
51 | "FormData": true
52 | },
53 |
54 | "rules": {
55 | "comma-dangle": 0,
56 | "no-cond-assign": 1,
57 | "no-console": 0,
58 | "no-constant-condition": 0,
59 | "no-control-regex": 1,
60 | "no-debugger": 1,
61 | "no-dupe-keys": 1,
62 | "no-empty": 0,
63 | "no-empty-character-class": 1,
64 | "no-ex-assign": 1,
65 | "no-extra-boolean-cast": 1,
66 | "no-extra-parens": 0,
67 | "no-extra-semi": 1,
68 | "no-func-assign": 1,
69 | "no-inner-declarations": 0,
70 | "no-invalid-regexp": 1,
71 | "no-negated-in-lhs": 1,
72 | "no-obj-calls": 1,
73 | "no-regex-spaces": 1,
74 | "no-reserved-keys": 0,
75 | "no-sparse-arrays": 1,
76 | "no-unreachable": 1,
77 | "use-isnan": 1,
78 | "valid-jsdoc": 0,
79 | "valid-typeof": 1,
80 | "block-scoped-var": 0,
81 | "complexity": 0,
82 | "consistent-return": 0,
83 | "curly": 1,
84 | "default-case": 0,
85 | "dot-notation": 1,
86 | "eqeqeq": 1,
87 | "guard-for-in": 0,
88 | "no-alert": 1,
89 | "no-caller": 1,
90 | "no-div-regex": 1,
91 | "no-else-return": 0,
92 | "no-labels": 1,
93 | "no-eq-null": 0,
94 | "no-eval": 1,
95 | "no-extend-native": 1,
96 | "no-extra-bind": 1,
97 | "no-fallthrough": 1,
98 | "no-floating-decimal": 1,
99 | "no-implied-eval": 1,
100 | "no-iterator": 1,
101 | "no-lone-blocks": 1,
102 | "no-loop-func": 0,
103 | "no-multi-str": 0,
104 | "no-native-reassign": 0,
105 | "no-new": 1,
106 | "no-new-func": 1,
107 | "no-new-wrappers": 1,
108 | "no-octal": 1,
109 | "no-octal-escape": 1,
110 | "no-proto": 1,
111 | "no-redeclare": 0,
112 | "no-return-assign": 1,
113 | "no-script-url": 1,
114 | "no-self-compare": 1,
115 | "no-sequences": 1,
116 | "no-unused-expressions": 0,
117 | "no-void": 1,
118 | "no-warning-comments": 0,
119 | "no-with": 1,
120 | "radix": 1,
121 | "vars-on-top": 0,
122 | "wrap-iife": 0,
123 | "yoda": 1,
124 |
125 | "strict": 0,
126 |
127 | "no-catch-shadow": 1,
128 | "no-delete-var": 1,
129 | "no-label-var": 1,
130 | "no-shadow": 1,
131 | "no-shadow-restricted-names": 1,
132 | "no-undef": 2,
133 | "no-undefined": 0,
134 | "no-undef-init": 1,
135 | "no-unused-vars": [1, {"vars": "all", "args": "none"}],
136 | "no-use-before-define": 0,
137 | "handle-callback-err": 1,
138 | "no-mixed-requires": 1,
139 | "no-new-require": 1,
140 | "no-path-concat": 1,
141 | "no-process-exit": 0,
142 | "no-restricted-modules": 1,
143 | "no-sync": 0,
144 |
145 | "key-spacing": 0,
146 | "comma-spacing": 0,
147 | "no-multi-spaces": 0,
148 | "brace-style": 0,
149 | "camelcase": 0,
150 | "consistent-this": [1, "self"],
151 | "eol-last": 1,
152 | "func-names": 0,
153 | "func-style": 0,
154 | "new-cap": 0,
155 | "new-parens": 1,
156 | "no-nested-ternary": 0,
157 | "no-array-constructor": 1,
158 | "no-lonely-if": 0,
159 | "no-new-object": 1,
160 | "no-spaced-func": 1,
161 | "semi-spacing": 1,
162 | "no-ternary": 0,
163 | "no-trailing-spaces": 1,
164 | "no-underscore-dangle": 0,
165 | "no-mixed-spaces-and-tabs": 1,
166 | "quotes": [1, "single", "avoid-escape"],
167 | "quote-props": 0,
168 | "semi": 0,
169 | "sort-vars": 0,
170 | "keyword-spacing": [0, { "before": true }],
171 | "space-in-brackets": 0,
172 | "space-in-parens": 0,
173 | "space-infix-ops": 1,
174 | "space-unary-ops": [1, { "words": true, "nonwords": false }],
175 | "max-nested-callbacks": 0,
176 | "one-var": 0,
177 | "wrap-regex": 0,
178 |
179 | "max-depth": 0,
180 | "max-len": 0,
181 | "max-params": 0,
182 | "max-statements": 0,
183 | "no-bitwise": 1,
184 | "no-plusplus": 0,
185 |
186 | "react/display-name": 0,
187 | "react/jsx-boolean-value": 0,
188 | "react/jsx-no-undef": 1,
189 | "react/jsx-sort-props": 0,
190 | "react/jsx-uses-react": 0,
191 | "react/jsx-uses-vars": 1,
192 | "react/no-did-mount-set-state": 1,
193 | "react/no-did-update-set-state": 1,
194 | "react/no-multi-comp": 0,
195 | "react/no-unknown-property": 0,
196 | "react/prop-types": 0,
197 | "react/react-in-jsx-scope": 0,
198 | "react/self-closing-comp": 1,
199 | "react/wrap-multilines": 0
200 | }
201 | }
202 |
--------------------------------------------------------------------------------
/ios/RNVersionNumber.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 2858ECCA1F8B91B400610575 /* RNVersionNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNVersionNumber.m */; };
11 | B3E7B58A1CC2AC0600A0062D /* RNVersionNumber.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNVersionNumber.m */; };
12 | /* End PBXBuildFile section */
13 |
14 | /* Begin PBXCopyFilesBuildPhase section */
15 | 2858ECCC1F8B91B400610575 /* CopyFiles */ = {
16 | isa = PBXCopyFilesBuildPhase;
17 | buildActionMask = 2147483647;
18 | dstPath = "include/$(PRODUCT_NAME)";
19 | dstSubfolderSpec = 16;
20 | files = (
21 | );
22 | runOnlyForDeploymentPostprocessing = 0;
23 | };
24 | 58B511D91A9E6C8500147676 /* CopyFiles */ = {
25 | isa = PBXCopyFilesBuildPhase;
26 | buildActionMask = 2147483647;
27 | dstPath = "include/$(PRODUCT_NAME)";
28 | dstSubfolderSpec = 16;
29 | files = (
30 | );
31 | runOnlyForDeploymentPostprocessing = 0;
32 | };
33 | /* End PBXCopyFilesBuildPhase section */
34 |
35 | /* Begin PBXFileReference section */
36 | 134814201AA4EA6300B7C361 /* libRNVersionNumber.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNVersionNumber.a; sourceTree = BUILT_PRODUCTS_DIR; };
37 | 2858ECD01F8B91B400610575 /* libRNVersionNumber-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libRNVersionNumber-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
38 | B3E7B5881CC2AC0600A0062D /* RNVersionNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNVersionNumber.h; sourceTree = ""; };
39 | B3E7B5891CC2AC0600A0062D /* RNVersionNumber.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNVersionNumber.m; sourceTree = ""; };
40 | /* End PBXFileReference section */
41 |
42 | /* Begin PBXFrameworksBuildPhase section */
43 | 2858ECCB1F8B91B400610575 /* Frameworks */ = {
44 | isa = PBXFrameworksBuildPhase;
45 | buildActionMask = 2147483647;
46 | files = (
47 | );
48 | runOnlyForDeploymentPostprocessing = 0;
49 | };
50 | 58B511D81A9E6C8500147676 /* Frameworks */ = {
51 | isa = PBXFrameworksBuildPhase;
52 | buildActionMask = 2147483647;
53 | files = (
54 | );
55 | runOnlyForDeploymentPostprocessing = 0;
56 | };
57 | /* End PBXFrameworksBuildPhase section */
58 |
59 | /* Begin PBXGroup section */
60 | 134814211AA4EA7D00B7C361 /* Products */ = {
61 | isa = PBXGroup;
62 | children = (
63 | 134814201AA4EA6300B7C361 /* libRNVersionNumber.a */,
64 | );
65 | name = Products;
66 | sourceTree = "";
67 | };
68 | 58B511D21A9E6C8500147676 = {
69 | isa = PBXGroup;
70 | children = (
71 | B3E7B5881CC2AC0600A0062D /* RNVersionNumber.h */,
72 | B3E7B5891CC2AC0600A0062D /* RNVersionNumber.m */,
73 | 134814211AA4EA7D00B7C361 /* Products */,
74 | 2858ECD01F8B91B400610575 /* libRNVersionNumber-tvOS.a */,
75 | );
76 | sourceTree = "";
77 | };
78 | /* End PBXGroup section */
79 |
80 | /* Begin PBXNativeTarget section */
81 | 2858ECC81F8B91B400610575 /* RNVersionNumber-tvOS */ = {
82 | isa = PBXNativeTarget;
83 | buildConfigurationList = 2858ECCD1F8B91B400610575 /* Build configuration list for PBXNativeTarget "RNVersionNumber-tvOS" */;
84 | buildPhases = (
85 | 2858ECC91F8B91B400610575 /* Sources */,
86 | 2858ECCB1F8B91B400610575 /* Frameworks */,
87 | 2858ECCC1F8B91B400610575 /* CopyFiles */,
88 | );
89 | buildRules = (
90 | );
91 | dependencies = (
92 | );
93 | name = "RNVersionNumber-tvOS";
94 | productName = RCTDataManager;
95 | productReference = 2858ECD01F8B91B400610575 /* libRNVersionNumber-tvOS.a */;
96 | productType = "com.apple.product-type.library.static";
97 | };
98 | 58B511DA1A9E6C8500147676 /* RNVersionNumber */ = {
99 | isa = PBXNativeTarget;
100 | buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNVersionNumber" */;
101 | buildPhases = (
102 | 58B511D71A9E6C8500147676 /* Sources */,
103 | 58B511D81A9E6C8500147676 /* Frameworks */,
104 | 58B511D91A9E6C8500147676 /* CopyFiles */,
105 | );
106 | buildRules = (
107 | );
108 | dependencies = (
109 | );
110 | name = RNVersionNumber;
111 | productName = RCTDataManager;
112 | productReference = 134814201AA4EA6300B7C361 /* libRNVersionNumber.a */;
113 | productType = "com.apple.product-type.library.static";
114 | };
115 | /* End PBXNativeTarget section */
116 |
117 | /* Begin PBXProject section */
118 | 58B511D31A9E6C8500147676 /* Project object */ = {
119 | isa = PBXProject;
120 | attributes = {
121 | LastUpgradeCheck = 0610;
122 | ORGANIZATIONNAME = Facebook;
123 | TargetAttributes = {
124 | 58B511DA1A9E6C8500147676 = {
125 | CreatedOnToolsVersion = 6.1.1;
126 | };
127 | };
128 | };
129 | buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNVersionNumber" */;
130 | compatibilityVersion = "Xcode 3.2";
131 | developmentRegion = English;
132 | hasScannedForEncodings = 0;
133 | knownRegions = (
134 | en,
135 | );
136 | mainGroup = 58B511D21A9E6C8500147676;
137 | productRefGroup = 58B511D21A9E6C8500147676;
138 | projectDirPath = "";
139 | projectRoot = "";
140 | targets = (
141 | 58B511DA1A9E6C8500147676 /* RNVersionNumber */,
142 | 2858ECC81F8B91B400610575 /* RNVersionNumber-tvOS */,
143 | );
144 | };
145 | /* End PBXProject section */
146 |
147 | /* Begin PBXSourcesBuildPhase section */
148 | 2858ECC91F8B91B400610575 /* Sources */ = {
149 | isa = PBXSourcesBuildPhase;
150 | buildActionMask = 2147483647;
151 | files = (
152 | 2858ECCA1F8B91B400610575 /* RNVersionNumber.m in Sources */,
153 | );
154 | runOnlyForDeploymentPostprocessing = 0;
155 | };
156 | 58B511D71A9E6C8500147676 /* Sources */ = {
157 | isa = PBXSourcesBuildPhase;
158 | buildActionMask = 2147483647;
159 | files = (
160 | B3E7B58A1CC2AC0600A0062D /* RNVersionNumber.m in Sources */,
161 | );
162 | runOnlyForDeploymentPostprocessing = 0;
163 | };
164 | /* End PBXSourcesBuildPhase section */
165 |
166 | /* Begin XCBuildConfiguration section */
167 | 2858ECCE1F8B91B400610575 /* Debug */ = {
168 | isa = XCBuildConfiguration;
169 | buildSettings = {
170 | HEADER_SEARCH_PATHS = (
171 | "$(inherited)",
172 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
173 | "$(SRCROOT)/../../../React/**",
174 | "$(SRCROOT)/../../react-native/React/**",
175 | );
176 | LIBRARY_SEARCH_PATHS = "$(inherited)";
177 | OTHER_LDFLAGS = "-ObjC";
178 | PRODUCT_NAME = "$(TARGET_NAME)";
179 | SDKROOT = appletvos;
180 | SKIP_INSTALL = YES;
181 | };
182 | name = Debug;
183 | };
184 | 2858ECCF1F8B91B400610575 /* Release */ = {
185 | isa = XCBuildConfiguration;
186 | buildSettings = {
187 | HEADER_SEARCH_PATHS = (
188 | "$(inherited)",
189 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
190 | "$(SRCROOT)/../../../React/**",
191 | "$(SRCROOT)/../../react-native/React/**",
192 | );
193 | LIBRARY_SEARCH_PATHS = "$(inherited)";
194 | OTHER_LDFLAGS = "-ObjC";
195 | PRODUCT_NAME = "$(TARGET_NAME)";
196 | SDKROOT = appletvos;
197 | SKIP_INSTALL = YES;
198 | };
199 | name = Release;
200 | };
201 | 58B511ED1A9E6C8500147676 /* Debug */ = {
202 | isa = XCBuildConfiguration;
203 | buildSettings = {
204 | ALWAYS_SEARCH_USER_PATHS = NO;
205 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
206 | CLANG_CXX_LIBRARY = "libc++";
207 | CLANG_ENABLE_MODULES = YES;
208 | CLANG_ENABLE_OBJC_ARC = YES;
209 | CLANG_WARN_BOOL_CONVERSION = YES;
210 | CLANG_WARN_CONSTANT_CONVERSION = YES;
211 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
212 | CLANG_WARN_EMPTY_BODY = YES;
213 | CLANG_WARN_ENUM_CONVERSION = YES;
214 | CLANG_WARN_INT_CONVERSION = YES;
215 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
216 | CLANG_WARN_UNREACHABLE_CODE = YES;
217 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
218 | COPY_PHASE_STRIP = NO;
219 | ENABLE_STRICT_OBJC_MSGSEND = YES;
220 | GCC_C_LANGUAGE_STANDARD = gnu99;
221 | GCC_DYNAMIC_NO_PIC = NO;
222 | GCC_OPTIMIZATION_LEVEL = 0;
223 | GCC_PREPROCESSOR_DEFINITIONS = (
224 | "DEBUG=1",
225 | "$(inherited)",
226 | );
227 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
228 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
229 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
230 | GCC_WARN_UNDECLARED_SELECTOR = YES;
231 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
232 | GCC_WARN_UNUSED_FUNCTION = YES;
233 | GCC_WARN_UNUSED_VARIABLE = YES;
234 | IPHONEOS_DEPLOYMENT_TARGET = 7.0;
235 | MTL_ENABLE_DEBUG_INFO = YES;
236 | ONLY_ACTIVE_ARCH = YES;
237 | SDKROOT = iphoneos;
238 | };
239 | name = Debug;
240 | };
241 | 58B511EE1A9E6C8500147676 /* Release */ = {
242 | isa = XCBuildConfiguration;
243 | buildSettings = {
244 | ALWAYS_SEARCH_USER_PATHS = NO;
245 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
246 | CLANG_CXX_LIBRARY = "libc++";
247 | CLANG_ENABLE_MODULES = YES;
248 | CLANG_ENABLE_OBJC_ARC = YES;
249 | CLANG_WARN_BOOL_CONVERSION = YES;
250 | CLANG_WARN_CONSTANT_CONVERSION = YES;
251 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
252 | CLANG_WARN_EMPTY_BODY = YES;
253 | CLANG_WARN_ENUM_CONVERSION = YES;
254 | CLANG_WARN_INT_CONVERSION = YES;
255 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
256 | CLANG_WARN_UNREACHABLE_CODE = YES;
257 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
258 | COPY_PHASE_STRIP = YES;
259 | ENABLE_NS_ASSERTIONS = NO;
260 | ENABLE_STRICT_OBJC_MSGSEND = YES;
261 | GCC_C_LANGUAGE_STANDARD = gnu99;
262 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
263 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
264 | GCC_WARN_UNDECLARED_SELECTOR = YES;
265 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
266 | GCC_WARN_UNUSED_FUNCTION = YES;
267 | GCC_WARN_UNUSED_VARIABLE = YES;
268 | IPHONEOS_DEPLOYMENT_TARGET = 7.0;
269 | MTL_ENABLE_DEBUG_INFO = NO;
270 | SDKROOT = iphoneos;
271 | VALIDATE_PRODUCT = YES;
272 | };
273 | name = Release;
274 | };
275 | 58B511F01A9E6C8500147676 /* Debug */ = {
276 | isa = XCBuildConfiguration;
277 | buildSettings = {
278 | HEADER_SEARCH_PATHS = (
279 | "$(inherited)",
280 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
281 | "$(SRCROOT)/../../../React/**",
282 | "$(SRCROOT)/../../react-native/React/**",
283 | "$(BUILT_PRODUCTS_DIR)",
284 | );
285 | LIBRARY_SEARCH_PATHS = "$(inherited)";
286 | OTHER_LDFLAGS = "-ObjC";
287 | PRODUCT_NAME = RNVersionNumber;
288 | SKIP_INSTALL = YES;
289 | };
290 | name = Debug;
291 | };
292 | 58B511F11A9E6C8500147676 /* Release */ = {
293 | isa = XCBuildConfiguration;
294 | buildSettings = {
295 | HEADER_SEARCH_PATHS = (
296 | "$(inherited)",
297 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
298 | "$(SRCROOT)/../../../React/**",
299 | "$(SRCROOT)/../../react-native/React/**",
300 | "$(BUILT_PRODUCTS_DIR)",
301 | );
302 | LIBRARY_SEARCH_PATHS = "$(inherited)";
303 | OTHER_LDFLAGS = "-ObjC";
304 | PRODUCT_NAME = RNVersionNumber;
305 | SKIP_INSTALL = YES;
306 | };
307 | name = Release;
308 | };
309 | /* End XCBuildConfiguration section */
310 |
311 | /* Begin XCConfigurationList section */
312 | 2858ECCD1F8B91B400610575 /* Build configuration list for PBXNativeTarget "RNVersionNumber-tvOS" */ = {
313 | isa = XCConfigurationList;
314 | buildConfigurations = (
315 | 2858ECCE1F8B91B400610575 /* Debug */,
316 | 2858ECCF1F8B91B400610575 /* Release */,
317 | );
318 | defaultConfigurationIsVisible = 0;
319 | defaultConfigurationName = Release;
320 | };
321 | 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNVersionNumber" */ = {
322 | isa = XCConfigurationList;
323 | buildConfigurations = (
324 | 58B511ED1A9E6C8500147676 /* Debug */,
325 | 58B511EE1A9E6C8500147676 /* Release */,
326 | );
327 | defaultConfigurationIsVisible = 0;
328 | defaultConfigurationName = Release;
329 | };
330 | 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNVersionNumber" */ = {
331 | isa = XCConfigurationList;
332 | buildConfigurations = (
333 | 58B511F01A9E6C8500147676 /* Debug */,
334 | 58B511F11A9E6C8500147676 /* Release */,
335 | );
336 | defaultConfigurationIsVisible = 0;
337 | defaultConfigurationName = Release;
338 | };
339 | /* End XCConfigurationList section */
340 | };
341 | rootObject = 58B511D31A9E6C8500147676 /* Project object */;
342 | }
343 |
--------------------------------------------------------------------------------