step4
This commit is contained in:
parent
e2b66a7d76
commit
c84acc334b
38
README.md
38
README.md
@ -1,3 +1,39 @@
|
||||
# SheetJS + React Native Demo
|
||||
|
||||
Complete Reproduction of <https://docs.sheetjs.com/docs/demos/mobile/reactnative#demo>
|
||||
Complete Reproduction of <https://docs.sheetjs.com/docs/demos/mobile/reactnative#demo>
|
||||
|
||||
This branch (`EXPO`) demonstrates `expo-file-system`.
|
||||
|
||||
## Installation
|
||||
|
||||
1) Install dependencies:
|
||||
|
||||
```bash
|
||||
npm i
|
||||
```
|
||||
|
||||
### iOS
|
||||
|
||||
2) (iOS only) link iOS project
|
||||
|
||||
```bash
|
||||
cd ios; pod install; cd ..
|
||||
```
|
||||
|
||||
3) run the development process:
|
||||
|
||||
```bash
|
||||
npx react-native run-ios
|
||||
```
|
||||
|
||||
### Android
|
||||
|
||||
4) ensure Java 11 is the current version
|
||||
|
||||
5) run the development process:
|
||||
|
||||
```bash
|
||||
npx react-native run-android
|
||||
```
|
||||
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
package com.sheetjsrn;
|
||||
import expo.modules.ReactActivityDelegateWrapper;
|
||||
|
||||
import com.facebook.react.ReactActivity;
|
||||
import com.facebook.react.ReactActivityDelegate;
|
||||
@ -23,10 +24,10 @@ public class MainActivity extends ReactActivity {
|
||||
*/
|
||||
@Override
|
||||
protected ReactActivityDelegate createReactActivityDelegate() {
|
||||
return new DefaultReactActivityDelegate(
|
||||
return new ReactActivityDelegateWrapper(this, BuildConfig.IS_NEW_ARCHITECTURE_ENABLED, new DefaultReactActivityDelegate(
|
||||
this,
|
||||
getMainComponentName(),
|
||||
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
|
||||
DefaultNewArchitectureEntryPoint.getFabricEnabled());
|
||||
DefaultNewArchitectureEntryPoint.getFabricEnabled()));
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,7 @@
|
||||
package com.sheetjsrn;
|
||||
import android.content.res.Configuration;
|
||||
import expo.modules.ApplicationLifecycleDispatcher;
|
||||
import expo.modules.ReactNativeHostWrapper;
|
||||
|
||||
import android.app.Application;
|
||||
import com.facebook.react.PackageList;
|
||||
@ -13,7 +16,7 @@ import java.util.List;
|
||||
public class MainApplication extends Application implements ReactApplication {
|
||||
|
||||
private final ReactNativeHost mReactNativeHost =
|
||||
new DefaultReactNativeHost(this) {
|
||||
new ReactNativeHostWrapper(this, new DefaultReactNativeHost(this) {
|
||||
@Override
|
||||
public boolean getUseDeveloperSupport() {
|
||||
return BuildConfig.DEBUG;
|
||||
@ -42,7 +45,7 @@ public class MainApplication extends Application implements ReactApplication {
|
||||
protected Boolean isHermesEnabled() {
|
||||
return BuildConfig.IS_HERMES_ENABLED;
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
@Override
|
||||
public ReactNativeHost getReactNativeHost() {
|
||||
@ -58,5 +61,12 @@ public class MainApplication extends Application implements ReactApplication {
|
||||
DefaultNewArchitectureEntryPoint.load();
|
||||
}
|
||||
ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
||||
ApplicationLifecycleDispatcher.onApplicationCreate(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig);
|
||||
}
|
||||
}
|
||||
|
@ -2,3 +2,6 @@ rootProject.name = 'SheetJSRN'
|
||||
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
|
||||
include ':app'
|
||||
includeBuild('../node_modules/@react-native/gradle-plugin')
|
||||
|
||||
apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle")
|
||||
useExpoModules()
|
18
index.js
18
index.js
@ -4,6 +4,24 @@ import React, { Component } from 'react';
|
||||
import { AppRegistry, StyleSheet, Text, Button, Alert, Image, ScrollView } from 'react-native';
|
||||
import { Table, Row, Rows, TableWrapper } from 'react-native-table-component';
|
||||
|
||||
import { read, write } from 'xlsx';
|
||||
import { getDocumentAsync } from 'expo-document-picker';
|
||||
import { documentDirectory, readAsStringAsync, writeAsStringAsync } from 'expo-file-system';
|
||||
|
||||
async function pickAndParse() {
|
||||
const result = await getDocumentAsync({copyToCacheDirectory: true});
|
||||
const path = result.uri;
|
||||
const res = await readAsStringAsync(path, { encoding: "base64" });
|
||||
return read(res, {type: 'base64'});
|
||||
}
|
||||
|
||||
async function writeWorkbook(wb) {
|
||||
const wbout = write(wb, {type:'base64', bookType:"xlsx"});
|
||||
const file = documentDirectory + "sheetjsw.xlsx";
|
||||
await writeAsStringAsync(file, wbout, { encoding: "base64" });
|
||||
return file;
|
||||
};
|
||||
|
||||
const make_width = ws => {
|
||||
const aoa = utils.sheet_to_json(ws, {header:1}), res = [];
|
||||
aoa.forEach((r) => { r.forEach((c, C) => { res[C] = Math.max(res[C]||60, String(c).length * 10); }); });
|
||||
|
11
ios/Podfile
11
ios/Podfile
@ -1,3 +1,4 @@
|
||||
require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
|
||||
# Resolve react_native_pods.rb with node to allow for hoisting
|
||||
require Pod::Executable.execute_command('node', ['-p',
|
||||
'require.resolve(
|
||||
@ -5,7 +6,7 @@ require Pod::Executable.execute_command('node', ['-p',
|
||||
{paths: [process.argv[1]]},
|
||||
)', __dir__]).strip
|
||||
|
||||
platform :ios, min_ios_version_supported
|
||||
platform :ios, '13.0'
|
||||
prepare_react_native_project!
|
||||
|
||||
# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
|
||||
@ -26,6 +27,14 @@ if linkage != nil
|
||||
end
|
||||
|
||||
target 'SheetJSRN' do
|
||||
use_expo_modules!
|
||||
post_integrate do |installer|
|
||||
begin
|
||||
expo_patch_react_imports!(installer)
|
||||
rescue => e
|
||||
Pod::UI.warn e
|
||||
end
|
||||
end
|
||||
config = use_native_modules!
|
||||
|
||||
# Flags change depending on the env values.
|
||||
|
@ -2,6 +2,26 @@ PODS:
|
||||
- boost (1.76.0)
|
||||
- CocoaAsyncSocket (7.6.5)
|
||||
- DoubleConversion (1.1.6)
|
||||
- EXApplication (5.3.0):
|
||||
- ExpoModulesCore
|
||||
- EXConstants (14.4.2):
|
||||
- ExpoModulesCore
|
||||
- EXDocumentPicker (11.2.2):
|
||||
- ExpoModulesCore
|
||||
- EXFileSystem (15.4.2):
|
||||
- ExpoModulesCore
|
||||
- EXFont (11.4.0):
|
||||
- ExpoModulesCore
|
||||
- Expo (49.0.0-beta.4):
|
||||
- ExpoModulesCore
|
||||
- ExpoKeepAwake (12.3.0):
|
||||
- ExpoModulesCore
|
||||
- ExpoModulesCore (1.5.3):
|
||||
- RCT-Folly (= 2021.07.22.00)
|
||||
- React-Core
|
||||
- React-NativeModulesApple
|
||||
- React-RCTAppDelegate
|
||||
- ReactCommon/turbomodule/core
|
||||
- FBLazyVector (0.72.1)
|
||||
- FBReactNativeSpec (0.72.1):
|
||||
- RCT-Folly (= 2021.07.22.00)
|
||||
@ -374,7 +394,7 @@ PODS:
|
||||
- React-jsinspector (0.72.1)
|
||||
- React-logger (0.72.1):
|
||||
- glog
|
||||
- react-native-document-picker (8.2.0):
|
||||
- react-native-document-picker (8.2.1):
|
||||
- React-Core
|
||||
- React-NativeModulesApple (0.72.1):
|
||||
- hermes-engine
|
||||
@ -494,6 +514,14 @@ PODS:
|
||||
DEPENDENCIES:
|
||||
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||
- EXApplication (from `../node_modules/expo-application/ios`)
|
||||
- EXConstants (from `../node_modules/expo-constants/ios`)
|
||||
- EXDocumentPicker (from `../node_modules/expo-document-picker/ios`)
|
||||
- EXFileSystem (from `../node_modules/expo-file-system/ios`)
|
||||
- EXFont (from `../node_modules/expo-font/ios`)
|
||||
- Expo (from `../node_modules/expo`)
|
||||
- ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`)
|
||||
- ExpoModulesCore (from `../node_modules/expo-modules-core`)
|
||||
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
|
||||
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
|
||||
- Flipper (= 0.182.0)
|
||||
@ -579,6 +607,22 @@ EXTERNAL SOURCES:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
|
||||
DoubleConversion:
|
||||
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
|
||||
EXApplication:
|
||||
:path: "../node_modules/expo-application/ios"
|
||||
EXConstants:
|
||||
:path: "../node_modules/expo-constants/ios"
|
||||
EXDocumentPicker:
|
||||
:path: "../node_modules/expo-document-picker/ios"
|
||||
EXFileSystem:
|
||||
:path: "../node_modules/expo-file-system/ios"
|
||||
EXFont:
|
||||
:path: "../node_modules/expo-font/ios"
|
||||
Expo:
|
||||
:path: "../node_modules/expo"
|
||||
ExpoKeepAwake:
|
||||
:path: "../node_modules/expo-keep-awake/ios"
|
||||
ExpoModulesCore:
|
||||
:path: "../node_modules/expo-modules-core"
|
||||
FBLazyVector:
|
||||
:path: "../node_modules/react-native/Libraries/FBLazyVector"
|
||||
FBReactNativeSpec:
|
||||
@ -661,6 +705,14 @@ SPEC CHECKSUMS:
|
||||
boost: 57d2868c099736d80fcd648bf211b4431e51a558
|
||||
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
|
||||
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
|
||||
EXApplication: 02655a251434d564bb0e73291f5a490c74b5b76f
|
||||
EXConstants: ce5bbea779da8031ac818c36bea41b10e14d04e1
|
||||
EXDocumentPicker: a2e52acbb3204af80b6e3ffd3deb2cb25d052593
|
||||
EXFileSystem: d7f59869885cfeab3ac771e2a8d0f5ed98cd3fdb
|
||||
EXFont: 738c44c390953ebcbab075a4848bfbef025fd9ee
|
||||
Expo: b5379d701e3bb098ebfd0b2e22510acb2b8b1b81
|
||||
ExpoKeepAwake: be4cbd52d9b177cde0fd66daa1913afa3161fc1d
|
||||
ExpoModulesCore: c7fc9558697e1dc7efef2b4841096cd6ab2b760f
|
||||
FBLazyVector: 55cd4593d570bd9e5e227488d637ce6a9581ce51
|
||||
FBReactNativeSpec: 799b0e1a1561699cd0e424e24fe5624da38402f0
|
||||
Flipper: 6edb735e6c3e332975d1b17956bcc584eccf5818
|
||||
@ -691,7 +743,7 @@ SPEC CHECKSUMS:
|
||||
React-jsiexecutor: 184eae1ecdedc7a083194bd9ff809c93f08fd34c
|
||||
React-jsinspector: d0b5bfd1085599265f4212034321e829bdf83cc0
|
||||
React-logger: b8103c9b04e707b50cdd2b1aeb382483900cbb37
|
||||
react-native-document-picker: 495c444c0c773c6e83a5d91165890ecb1c0a399a
|
||||
react-native-document-picker: 69ca2094d8780cfc1e7e613894d15290fdc54bba
|
||||
React-NativeModulesApple: 4f31a812364443cee6ef768d256c594ad3b20f53
|
||||
React-perflogger: 3d501f34c8d4b10cb75f348e43591765788525ad
|
||||
React-RCTActionSheet: f5335572c979198c0c3daff67b07bd1ad8370c1d
|
||||
@ -713,6 +765,6 @@ SPEC CHECKSUMS:
|
||||
Yoga: 65286bb6a07edce5e4fe8c90774da977ae8fc009
|
||||
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
|
||||
|
||||
PODFILE CHECKSUM: 2250de264ba5adbfd3fe13c5a448d934ea1d4b4d
|
||||
PODFILE CHECKSUM: fc9f3ced418f87ee567915ec8ba237528f14886d
|
||||
|
||||
COCOAPODS: 1.11.3
|
||||
|
@ -13,7 +13,9 @@
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
7699B88040F8A987B510C191 /* libPods-SheetJSRN-SheetJSRNTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 19F6CBCC0A4E27FBF8BF4A61 /* libPods-SheetJSRN-SheetJSRNTests.a */; };
|
||||
80385DEC7FD1397F9AE7483F /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEDBEB6E1ED7AB2B765D6DF1 /* ExpoModulesProvider.swift */; };
|
||||
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
||||
B9B3165EDFF0ADFC5CDAF3BC /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F648EB884CA937F37126C44 /* ExpoModulesProvider.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@ -38,11 +40,13 @@
|
||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = SheetJSRN/main.m; sourceTree = "<group>"; };
|
||||
19F6CBCC0A4E27FBF8BF4A61 /* libPods-SheetJSRN-SheetJSRNTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SheetJSRN-SheetJSRNTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3B4392A12AC88292D35C810B /* Pods-SheetJSRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SheetJSRN.debug.xcconfig"; path = "Target Support Files/Pods-SheetJSRN/Pods-SheetJSRN.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
3F648EB884CA937F37126C44 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-SheetJSRN/ExpoModulesProvider.swift"; sourceTree = "<group>"; };
|
||||
5709B34CF0A7D63546082F79 /* Pods-SheetJSRN.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SheetJSRN.release.xcconfig"; path = "Target Support Files/Pods-SheetJSRN/Pods-SheetJSRN.release.xcconfig"; sourceTree = "<group>"; };
|
||||
5B7EB9410499542E8C5724F5 /* Pods-SheetJSRN-SheetJSRNTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SheetJSRN-SheetJSRNTests.debug.xcconfig"; path = "Target Support Files/Pods-SheetJSRN-SheetJSRNTests/Pods-SheetJSRN-SheetJSRNTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
5DCACB8F33CDC322A6C60F78 /* libPods-SheetJSRN.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-SheetJSRN.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = SheetJSRN/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
89C6BE57DB24E9ADA2F236DE /* Pods-SheetJSRN-SheetJSRNTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SheetJSRN-SheetJSRNTests.release.xcconfig"; path = "Target Support Files/Pods-SheetJSRN-SheetJSRNTests/Pods-SheetJSRN-SheetJSRNTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
CEDBEB6E1ED7AB2B765D6DF1 /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-SheetJSRN-SheetJSRNTests/ExpoModulesProvider.swift"; sourceTree = "<group>"; };
|
||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
@ -106,6 +110,14 @@
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
61F28BC4BED71E2A777B928B /* SheetJSRN */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3F648EB884CA937F37126C44 /* ExpoModulesProvider.swift */,
|
||||
);
|
||||
name = SheetJSRN;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
832341AE1AAA6A7D00B99B32 /* Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -122,6 +134,7 @@
|
||||
83CBBA001A601CBA00E9B192 /* Products */,
|
||||
2D16E6871FA4F8E400B85C8A /* Frameworks */,
|
||||
BBD78D7AC51CEA395F1C20DB /* Pods */,
|
||||
B98D924853E023DCF8A75BFB /* ExpoModulesProviders */,
|
||||
);
|
||||
indentWidth = 2;
|
||||
sourceTree = "<group>";
|
||||
@ -137,6 +150,15 @@
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B98D924853E023DCF8A75BFB /* ExpoModulesProviders */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
61F28BC4BED71E2A777B928B /* SheetJSRN */,
|
||||
F212CD406C2CE08A17C8BBE3 /* SheetJSRNTests */,
|
||||
);
|
||||
name = ExpoModulesProviders;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
BBD78D7AC51CEA395F1C20DB /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
@ -148,6 +170,14 @@
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
F212CD406C2CE08A17C8BBE3 /* SheetJSRNTests */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CEDBEB6E1ED7AB2B765D6DF1 /* ExpoModulesProvider.swift */,
|
||||
);
|
||||
name = SheetJSRNTests;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
@ -156,6 +186,7 @@
|
||||
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "SheetJSRNTests" */;
|
||||
buildPhases = (
|
||||
A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */,
|
||||
92D46CC94323B587ACA23319 /* [Expo] Configure project */,
|
||||
00E356EA1AD99517003FC87E /* Sources */,
|
||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||
00E356EC1AD99517003FC87E /* Resources */,
|
||||
@ -178,6 +209,7 @@
|
||||
buildPhases = (
|
||||
C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
|
||||
FD10A7F022414F080027D42C /* Start Packager */,
|
||||
B2B272BD20744A4E63FC5740 /* [Expo] Configure project */,
|
||||
13B07F871A680F5B00A75B9A /* Sources */,
|
||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||
@ -283,6 +315,25 @@
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-SheetJSRN/Pods-SheetJSRN-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
92D46CC94323B587ACA23319 /* [Expo] Configure project */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[Expo] Configure project";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-SheetJSRN-SheetJSRNTests/expo-configure-project.sh\"\n";
|
||||
};
|
||||
A55EABD7B0C7F3A422A6CC61 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -305,6 +356,25 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
B2B272BD20744A4E63FC5740 /* [Expo] Configure project */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
alwaysOutOfDate = 1;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[Expo] Configure project";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "# This script configures Expo modules and generates the modules provider file.\nbash -l -c \"./Pods/Target\\ Support\\ Files/Pods-SheetJSRN/expo-configure-project.sh\"\n";
|
||||
};
|
||||
C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@ -405,6 +475,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
00E356F31AD99517003FC87E /* SheetJSRNTests.m in Sources */,
|
||||
80385DEC7FD1397F9AE7483F /* ExpoModulesProvider.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -414,6 +485,7 @@
|
||||
files = (
|
||||
13B07FBC1A68108700A75B9A /* AppDelegate.mm in Sources */,
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */,
|
||||
B9B3165EDFF0ADFC5CDAF3BC /* ExpoModulesProvider.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -438,7 +510,7 @@
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = SheetJSRNTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
@ -449,6 +521,7 @@
|
||||
"-lc++",
|
||||
"$(inherited)",
|
||||
);
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SheetJSRN.app/SheetJSRN";
|
||||
@ -462,7 +535,7 @@
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
INFOPLIST_FILE = SheetJSRNTests/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
@ -473,6 +546,7 @@
|
||||
"-lc++",
|
||||
"$(inherited)",
|
||||
);
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SheetJSRN.app/SheetJSRN";
|
||||
@ -498,6 +572,7 @@
|
||||
"-ObjC",
|
||||
"-lc++",
|
||||
);
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = SheetJSRN;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
@ -524,6 +599,7 @@
|
||||
"-ObjC",
|
||||
"-lc++",
|
||||
);
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = SheetJSRN;
|
||||
SWIFT_VERSION = 5.0;
|
||||
@ -580,7 +656,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
/usr/lib/swift,
|
||||
"$(inherited)",
|
||||
@ -646,7 +722,7 @@
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
/usr/lib/swift,
|
||||
"$(inherited)",
|
||||
|
@ -1,6 +1,7 @@
|
||||
#import <RCTAppDelegate.h>
|
||||
#import <Expo/Expo.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface AppDelegate : RCTAppDelegate
|
||||
@interface AppDelegate : EXAppDelegateWrapper
|
||||
|
||||
@end
|
||||
|
@ -10,6 +10,9 @@
|
||||
"test": "jest"
|
||||
},
|
||||
"dependencies": {
|
||||
"expo": ">=49.0.0-0 <50.0.0",
|
||||
"expo-document-picker": "^11.2.2",
|
||||
"expo-file-system": "^15.4.2",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.72.1",
|
||||
"react-native-document-picker": "^8.2.0",
|
||||
|
Loading…
Reference in New Issue
Block a user