From 69a85707e624dedfa02a06ff76910aea12188283 Mon Sep 17 00:00:00 2001 From: Kunal Gaurav Date: Sun, 30 Dec 2018 20:33:58 +0530 Subject: [PATCH 1/2] Added fetch flob --- android/app/build.gradle | 1 + android/app/src/main/AndroidManifest.xml | 2 + .../java/com/rnexpapp/MainApplication.java | 4 +- android/settings.gradle | 2 + ios/rnexpapp.xcodeproj/project.pbxproj | 98 ++++++++++++++++++- package-lock.json | 29 ++++++ package.json | 3 +- src/App.js | 25 ++++- 8 files changed, 158 insertions(+), 6 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 81b1597..4e65aba 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -148,6 +148,7 @@ android { } dependencies { + compile project(':rn-fetch-blob') implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" implementation "com.facebook.react:react-native:+" // From node_modules diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 0f13578..8d33178 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -2,6 +2,7 @@ package="com.rnexpapp"> + + diff --git a/android/app/src/main/java/com/rnexpapp/MainApplication.java b/android/app/src/main/java/com/rnexpapp/MainApplication.java index cf01d0c..16d75a7 100644 --- a/android/app/src/main/java/com/rnexpapp/MainApplication.java +++ b/android/app/src/main/java/com/rnexpapp/MainApplication.java @@ -3,6 +3,7 @@ import android.app.Application; import com.facebook.react.ReactApplication; +import com.RNFetchBlob.RNFetchBlobPackage; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.react.shell.MainReactPackage; @@ -22,7 +23,8 @@ public boolean getUseDeveloperSupport() { @Override protected List getPackages() { return Arrays.asList( - new MainReactPackage() + new MainReactPackage(), + new RNFetchBlobPackage() ); } diff --git a/android/settings.gradle b/android/settings.gradle index 62013d9..c08f052 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,3 +1,5 @@ rootProject.name = 'rnexpapp' +include ':rn-fetch-blob' +project(':rn-fetch-blob').projectDir = new File(rootProject.projectDir, '../node_modules/rn-fetch-blob/android') include ':app' diff --git a/ios/rnexpapp.xcodeproj/project.pbxproj b/ios/rnexpapp.xcodeproj/project.pbxproj index 9c274f2..addc61f 100644 --- a/ios/rnexpapp.xcodeproj/project.pbxproj +++ b/ios/rnexpapp.xcodeproj/project.pbxproj @@ -37,6 +37,7 @@ 2DCD954D1E0B4F2C00145EB5 /* rnexpappTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* rnexpappTests.m */; }; 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; }; 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; + 9755B3CF13794F43914BDC5E /* libRNFetchBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E2F5210A82D4ABB8A26DA80 /* libRNFetchBlob.a */; }; ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; /* End PBXBuildFile section */ @@ -314,6 +315,13 @@ remoteGlobalIDString = 358F4ED71D1E81A9004DF814; remoteInfo = RCTBlob; }; + E5E7207A21D9082F0018E1D5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 38E0A58F495A40D5A946B424 /* RNFetchBlob.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = A15C300E1CD25C330074CB35; + remoteInfo = RNFetchBlob; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -339,7 +347,9 @@ 2D02E47B1E0B4A5D006451C7 /* rnexpapp-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "rnexpapp-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D02E4901E0B4A5D006451C7 /* rnexpapp-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "rnexpapp-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 38E0A58F495A40D5A946B424 /* RNFetchBlob.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = RNFetchBlob.xcodeproj; path = "../node_modules/rn-fetch-blob/ios/RNFetchBlob.xcodeproj"; sourceTree = ""; }; 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; + 6E2F5210A82D4ABB8A26DA80 /* libRNFetchBlob.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNFetchBlob.a; 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 = ""; }; ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; @@ -370,6 +380,7 @@ 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, + 9755B3CF13794F43914BDC5E /* libRNFetchBlob.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -556,6 +567,7 @@ 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, + 38E0A58F495A40D5A946B424 /* RNFetchBlob.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -577,6 +589,7 @@ 00E356EF1AD99517003FC87E /* rnexpappTests */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, + E5E7205121D9082F0018E1D5 /* Recovered References */, ); indentWidth = 2; sourceTree = ""; @@ -603,6 +616,22 @@ name = Products; sourceTree = ""; }; + E5E7205121D9082F0018E1D5 /* Recovered References */ = { + isa = PBXGroup; + children = ( + 6E2F5210A82D4ABB8A26DA80 /* libRNFetchBlob.a */, + ); + name = "Recovered References"; + sourceTree = ""; + }; + E5E7207721D9082F0018E1D5 /* Products */ = { + isa = PBXGroup; + children = ( + E5E7207B21D9082F0018E1D5 /* libRNFetchBlob.a */, + ); + name = Products; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -684,7 +713,7 @@ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0940; + LastUpgradeCheck = 940; ORGANIZATIONNAME = Facebook; TargetAttributes = { 00E356ED1AD99517003FC87E = { @@ -762,6 +791,10 @@ ProductGroup = 146834001AC3E56700842450 /* Products */; ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; }, + { + ProductGroup = E5E7207721D9082F0018E1D5 /* Products */; + ProjectRef = 38E0A58F495A40D5A946B424 /* RNFetchBlob.xcodeproj */; + }, ); projectRoot = ""; targets = ( @@ -1033,6 +1066,13 @@ remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + E5E7207B21D9082F0018E1D5 /* libRNFetchBlob.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRNFetchBlob.a; + remoteRef = E5E7207A21D9082F0018E1D5 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -1171,9 +1211,17 @@ "DEBUG=1", "$(inherited)", ); + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/rn-fetch-blob/ios/**", + ); INFOPLIST_FILE = rnexpappTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", @@ -1189,9 +1237,17 @@ buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; COPY_PHASE_STRIP = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/rn-fetch-blob/ios/**", + ); INFOPLIST_FILE = rnexpappTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", @@ -1208,6 +1264,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; DEAD_CODE_STRIPPING = NO; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/rn-fetch-blob/ios/**", + ); INFOPLIST_FILE = rnexpapp/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( @@ -1226,6 +1286,10 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/rn-fetch-blob/ios/**", + ); INFOPLIST_FILE = rnexpapp/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( @@ -1251,8 +1315,16 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/rn-fetch-blob/ios/**", + ); INFOPLIST_FILE = "rnexpapp-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", @@ -1277,8 +1349,16 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_NO_COMMON_BLOCKS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/rn-fetch-blob/ios/**", + ); INFOPLIST_FILE = "rnexpapp-tvOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", @@ -1302,8 +1382,16 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/rn-fetch-blob/ios/**", + ); INFOPLIST_FILE = "rnexpapp-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", @@ -1327,8 +1415,16 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; GCC_NO_COMMON_BLOCKS = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + "$(SRCROOT)/../node_modules/rn-fetch-blob/ios/**", + ); INFOPLIST_FILE = "rnexpapp-tvOSTests/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"$(SRCROOT)/$(TARGET_NAME)\"", + ); OTHER_LDFLAGS = ( "-ObjC", "-lc++", diff --git a/package-lock.json b/package-lock.json index 7504f19..47d49e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1676,6 +1676,11 @@ } } }, + "base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha1-eAqZyE59YAJgNhURxId2E78k9rs=" + }, "base64-js": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", @@ -6355,6 +6360,30 @@ "glob": "^7.0.5" } }, + "rn-fetch-blob": { + "version": "0.10.15", + "resolved": "https://registry.npmjs.org/rn-fetch-blob/-/rn-fetch-blob-0.10.15.tgz", + "integrity": "sha512-/m/gurTaPAvR3J843uehHhznj5k89x7XClyO5ejmbspNLNQ4ByF+kZs80wiiKGWntj+Wqo0jJu1goArXEfc0kA==", + "requires": { + "base-64": "0.1.0", + "glob": "7.0.6" + }, + "dependencies": { + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, "rsvp": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz", diff --git a/package.json b/package.json index 8a6e82a..d79ac23 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ }, "dependencies": { "react": "16.6.3", - "react-native": "0.57.8" + "react-native": "0.57.8", + "rn-fetch-blob": "^0.10.15" }, "devDependencies": { "babel-jest": "23.6.0", diff --git a/src/App.js b/src/App.js index ed574ed..3ef8323 100644 --- a/src/App.js +++ b/src/App.js @@ -1,18 +1,37 @@ import React, {Component} from 'react'; -import {Text, View} from 'react-native'; +import {Text, View, Button} from 'react-native'; +import RNFetchblob from "rn-fetch-blob" export default class App extends Component { + constructor (props) { + super(props) + this.state = { + dataRecieved: "Default data" + } + } + + fetchData = () => { + RNFetchblob.config({ + trusty: true + }) + .fetch('GET', "https://localhost:8000/about") + .then(res => res.json()) + .then(data => this.setState({dataRecieved: JSON.stringify(data)})) + .catch(error => this.setState({dataRecieved: error.message})) + } + render () { return ( Welcome to React Native! - - +