Build passed

This commit is contained in:
xmflsct 2023-02-11 19:15:34 +01:00
parent 620dcfccdb
commit fcc53672fa
22 changed files with 1338 additions and 1406 deletions

11
.gitignore vendored
View File

@ -43,6 +43,8 @@ local.properties
*.iml
*.hprof
.cxx/
*.keystore
!debug.keystore
# node.js
#
@ -50,12 +52,6 @@ node_modules/
npm-debug.log
yarn-error.log
# BUCK
buck-out/
\.buckd/
*.keystore
!debug.keystore
# Bundle artifacts
*.jsbundle
@ -67,6 +63,9 @@ buck-out/
web-build/
dist/
# Temporary files created by Metro to check the health of the file watcher
.metro-health-check*
# @end expo-cli
# yarn 3

2
.nvmrc
View File

@ -1 +1 @@
16
18

View File

@ -1,55 +0,0 @@
# To learn about Buck see [Docs](https://buckbuild.com/).
# To run your application with Buck:
# - install Buck
# - `npm start` - to start the packager
# - `cd android`
# - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
# - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
# - `buck install -r android/app` - compile, install and run application
#
load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
lib_deps = []
create_aar_targets(glob(["libs/*.aar"]))
create_jar_targets(glob(["libs/*.jar"]))
android_library(
name = "all-libs",
exported_deps = lib_deps,
)
android_library(
name = "app-code",
srcs = glob([
"src/main/java/**/*.java",
]),
deps = [
":all-libs",
":build_config",
":res",
],
)
android_build_config(
name = "build_config",
package = "com.xmflsct.app.tooot",
)
android_resource(
name = "res",
package = "com.xmflsct.app.tooot",
res = "src/main/res",
)
android_binary(
name = "app",
keystore = "//android/keystores:debug",
manifest = "src/main/AndroidManifest.xml",
package_type = "debug",
deps = [
":app-code",
],
)

View File

@ -1,129 +1,86 @@
apply plugin: "com.android.application"
apply plugin: "com.facebook.react"
apply plugin: 'com.google.gms.google-services'
import com.android.build.OutputFile
import org.apache.tools.ant.taskdefs.condition.Os
/**
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
* and bundleReleaseJsAndAssets).
* These basically call `react-native bundle` with the correct arguments during the Android build
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
* bundle directly from the development server. Below you can see all the possible configurations
* and their defaults. If you decide to add a configuration block, make sure to add it before the
* `apply from: "../../node_modules/react-native/react.gradle"` line.
*
* project.ext.react = [
* // the name of the generated asset file containing your JS bundle
* bundleAssetName: "index.android.bundle",
*
* // the entry file for bundle generation. If none specified and
* // "index.android.js" exists, it will be used. Otherwise "index.js" is
* // default. Can be overridden with ENTRY_FILE environment variable.
* entryFile: "index.android.js",
*
* // https://reactnative.dev/docs/performance#enable-the-ram-format
* bundleCommand: "ram-bundle",
*
* // whether to bundle JS and assets in debug mode
* bundleInDebug: false,
*
* // whether to bundle JS and assets in release mode
* bundleInRelease: true,
*
* // whether to bundle JS and assets in another build variant (if configured).
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
* // The configuration property can be in the following formats
* // 'bundleIn${productFlavor}${buildType}'
* // 'bundleIn${buildType}'
* // bundleInFreeDebug: true,
* // bundleInPaidRelease: true,
* // bundleInBeta: true,
*
* // whether to disable dev mode in custom build variants (by default only disabled in release)
* // for example: to disable dev mode in the staging build type (if configured)
* devDisabledInStaging: true,
* // The configuration property can be in the following formats
* // 'devDisabledIn${productFlavor}${buildType}'
* // 'devDisabledIn${buildType}'
*
* // the root of your project, i.e. where "package.json" lives
* root: "../../",
*
* // where to put the JS bundle asset in debug mode
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
*
* // where to put the JS bundle asset in release mode
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in debug mode
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
*
* // where to put drawable resources / React Native assets, e.g. the ones you use via
* // require('./image.png')), in release mode
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
*
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
* // for example, you might want to remove it from here.
* inputExcludes: ["android/**", "ios/**"],
*
* // override which node gets called and with what additional arguments
* nodeExecutableAndArgs: ["node"],
*
* // supply additional arguments to the packager
* extraPackagerArgs: []
* ]
* This is the configuration block to customize your React Native Android app.
* By default you don't need to apply any configuration, just uncomment the lines you need.
*/
project.ext.react = [
enableHermes: true,
]
apply from: new File(["node", "--print", "require.resolve('react-native/package.json')"].execute().text.trim(), "../react.gradle")
react {
/* Folders */
// The root of your project, i.e. where "package.json" lives. Default is '..'
// root = file("../")
// The folder where the react-native NPM package is. Default is ../node_modules/react-native
// reactNativeDir = file("../node_modules/react-native")
// The folder where the react-native Codegen package is. Default is ../node_modules/react-native-codegen
// codegenDir = file("../node_modules/react-native-codegen")
// The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
// cliFile = file("../node_modules/react-native/cli.js")
/* Variants */
// The list of variants to that are debuggable. For those we're going to
// skip the bundling of the JS bundle and the assets. By default is just 'debug'.
// If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
// debuggableVariants = ["liteDebug", "prodDebug"]
/* Bundling */
// A list containing the node command and its flags. Default is just 'node'.
// nodeExecutableAndArgs = ["node"]
//
// The command to run when bundling. By default is 'bundle'
// bundleCommand = "ram-bundle"
//
// The path to the CLI configuration file. Default is empty.
// bundleConfig = file(../rn-cli.config.js)
//
// The name of the generated asset file containing your JS bundle
// bundleAssetName = "MyApplication.android.bundle"
//
// The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
// entryFile = file("../js/MyApplication.android.js")
//
// A list of extra flags to pass to the 'bundle' commands.
// See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
// extraPackagerArgs = []
/* Hermes Commands */
// The hermes compiler command to run. By default it is 'hermesc'
// hermesCommand = "$rootDir/my-custom-hermesc/bin/hermesc"
//
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
// hermesFlags = ["-O", "-output-source-map"]
}
/**
* 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.
* Set this to true to create four separate APKs instead of one,
* one for each native architecture. This is useful if you don't
* use App Bundles (https://developer.android.com/guide/app-bundle/)
* and want to have separate APKs to upload to the Play Store.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
* Set this to true to Run Proguard on Release builds to minify the Java bytecode.
*/
def enableProguardInReleaseBuilds = false
/**
* The preferred build flavor of JavaScriptCore.
* The preferred build flavor of JavaScriptCore (JSC)
*
* For example, to use the international variant, you can use:
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
*
* The international variant includes ICU i18n library and necessary data
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
* give correct results when using with locales other than en-US. Note that
* give correct results when using with locales other than en-US. Note that
* this variant is about 6MiB larger per architecture than default.
*/
def jscFlavor = 'org.webkit:android-jsc:+'
/**
* Whether to enable the Hermes VM.
*
* This should be set on project.ext.react and mirrored here. If it is not set
* on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
* and the benefits of using Hermes will therefore be sharply reduced.
*/
def enableHermes = project.ext.react.get("enableHermes", true);
/**
* Architectures to build native code for.
* Private function to get the list of Native Architectures you want to build.
* This reads the value from reactNativeArchitectures in your gradle.properties
* file and works together with the --active-arch-only flag of react-native run-android.
*/
def reactNativeArchitectures() {
def value = project.getProperties().get("reactNativeArchitectures")
@ -140,69 +97,13 @@ android {
targetCompatibility JavaVersion.VERSION_1_8
}
namespace "com.xmflsct.app.tooot"
defaultConfig {
applicationId 'com.xmflsct.app.tooot'
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 50
versionName "0.2"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
if (isNewArchitectureEnabled()) {
// We configure the CMake build only if you decide to opt-in for the New Architecture.
externalNativeBuild {
cmake {
arguments "-DPROJECT_BUILD_DIR=$buildDir",
"-DREACT_ANDROID_DIR=$rootDir/../node_modules/react-native/ReactAndroid",
"-DREACT_ANDROID_BUILD_DIR=$rootDir/../node_modules/react-native/ReactAndroid/build",
"-DNODE_MODULES_DIR=$rootDir/../node_modules",
"-DANDROID_STL=c++_shared"
}
}
if (!enableSeparateBuildPerCPUArchitecture) {
ndk {
abiFilters (*reactNativeArchitectures())
}
}
}
}
if (isNewArchitectureEnabled()) {
// We configure the CMake build only if you decide to opt-in for the New Architecture.
externalNativeBuild {
cmake {
path "$projectDir/src/main/jni/CMakeLists.txt"
}
}
def reactAndroidProjectDir = project(':ReactAndroid').projectDir
def packageReactNdkDebugLibs = tasks.register("packageReactNdkDebugLibs", Copy) {
dependsOn(":ReactAndroid:packageReactNdkDebugLibsForBuck")
from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
into("$buildDir/react-ndk/exported")
}
def packageReactNdkReleaseLibs = tasks.register("packageReactNdkReleaseLibs", Copy) {
dependsOn(":ReactAndroid:packageReactNdkReleaseLibsForBuck")
from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
into("$buildDir/react-ndk/exported")
}
afterEvaluate {
// If you wish to add a custom TurboModule or component locally,
// you should uncomment this line.
// preBuild.dependsOn("generateCodegenArtifactsFromSchema")
preDebugBuild.dependsOn(packageReactNdkDebugLibs)
preReleaseBuild.dependsOn(packageReactNdkReleaseLibs)
// Due to a bug inside AGP, we have to explicitly set a dependency
// between configureCMakeDebug* tasks and the preBuild tasks.
// This can be removed once this is solved: https://issuetracker.google.com/issues/207403732
configureCMakeRelWithDebInfo.dependsOn(preReleaseBuild)
configureCMakeDebug.dependsOn(preDebugBuild)
reactNativeArchitectures().each { architecture ->
tasks.findByName("configureCMakeDebug[${architecture}]")?.configure {
dependsOn("preDebugBuild")
}
tasks.findByName("configureCMakeRelWithDebInfo[${architecture}]")?.configure {
dependsOn("preReleaseBuild")
}
}
}
}
splits {
abi {
@ -232,7 +133,6 @@ android {
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
namespace 'com.xmflsct.app.tooot'
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
@ -255,10 +155,6 @@ dependencies {
force = true
}
implementation fileTree(dir: "libs", include: ["*.jar"])
//noinspection GradleDynamicVersion
implementation "com.facebook.react:react-native:+" // From node_modules
def isGifEnabled = (findProperty('expo.gif.enabled') ?: "") == "true";
def isWebpEnabled = (findProperty('expo.webp.enabled') ?: "") == "true";
def isWebpAnimatedEnabled = (findProperty('expo.webp.animated') ?: "") == "true";
@ -284,58 +180,21 @@ dependencies {
}
}
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
exclude group:'com.facebook.fbjni'
}
// The version of react-native is set by the React Native Gradle Plugin
implementation("com.facebook.react:react-android")
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0")
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
exclude group:'com.squareup.okhttp3', module:'okhttp'
}
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
exclude group:'com.facebook.flipper'
}
if (enableHermes) {
//noinspection GradleDynamicVersion
implementation("com.facebook.react:hermes-engine:+") { // From node_modules
exclude group:'com.facebook.fbjni'
}
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
if (hermesEnabled.toBoolean()) {
implementation("com.facebook.react:hermes-android")
} else {
implementation jscFlavor
}
}
if (isNewArchitectureEnabled()) {
// If new architecture is enabled, we let you build RN from source
// Otherwise we fallback to a prebuilt .aar bundled in the NPM package.
// This will be applied to all the imported transitive dependency.
configurations.all {
resolutionStrategy.dependencySubstitution {
substitute(module("com.facebook.react:react-native"))
.using(project(":ReactAndroid"))
.because("On New Architecture we're building React Native from source")
substitute(module("com.facebook.react:hermes-engine"))
.using(project(":ReactAndroid:hermes-engine"))
.because("On New Architecture we're building Hermes from source")
}
}
}
// 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.implementation
into 'libs'
}
apply from: new File(["node", "--print", "require.resolve('@react-native-community/cli-platform-android/package.json')"].execute().text.trim(), "../native_modules.gradle");
applyNativeModulesAppBuildGradle(project)
def isNewArchitectureEnabled() {
// To opt-in for the New Architecture, you can either:
// - Set `newArchEnabled` to true inside the `gradle.properties` file
// - Invoke gradle with `-newArchEnabled=true`
// - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true`
return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
}

View File

@ -1,19 +0,0 @@
"""Helper definitions to glob .aar and .jar targets"""
def create_aar_targets(aarfiles):
for aarfile in aarfiles:
name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
lib_deps.append(":" + name)
android_prebuilt_aar(
name = name,
aar = aarfile,
)
def create_jar_targets(jarfiles):
for jarfile in jarfiles:
name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
lib_deps.append(":" + name)
prebuilt_jar(
name = name,
binary_jar = jarfile,
)

View File

@ -17,7 +17,6 @@ import com.facebook.flipper.plugins.inspector.DescriptorMapping;
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
import com.facebook.react.ReactInstanceEventListener;
import com.facebook.react.ReactInstanceManager;
@ -25,12 +24,15 @@ import com.facebook.react.bridge.ReactContext;
import com.facebook.react.modules.network.NetworkingModule;
import okhttp3.OkHttpClient;
/**
* Class responsible of loading Flipper inside your React Native application. This is the debug
* flavor of it. Here you can add your own plugins and customize the Flipper setup.
*/
public class ReactNativeFlipper {
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
if (FlipperUtils.shouldEnableFlipper(context)) {
final FlipperClient client = AndroidFlipperClient.getInstance(context);
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
client.addPlugin(new ReactFlipperPlugin());
client.addPlugin(new DatabasesFlipperPlugin(context));
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
client.addPlugin(CrashReporterPlugin.getInstance());

View File

@ -1,6 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.xmflsct.app.tooot">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

View File

@ -3,7 +3,8 @@ import android.os.Bundle;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
import com.facebook.react.defaults.DefaultReactActivityDelegate;
import expo.modules.ReactActivityDelegateWrapper;
@ -23,31 +24,19 @@ public class MainActivity extends ReactActivity {
}
/**
* Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and
* you can specify the renderer you wish to use - the new renderer (Fabric) or the old renderer
* (Paper).
* Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link
* DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React
* (aka React 18) with two boolean flags.
*/
@Override
protected ReactActivityDelegate createReactActivityDelegate() {
return new ReactActivityDelegateWrapper(this, new MainActivityDelegate(this, getMainComponentName()));
}
public static class MainActivityDelegate extends ReactActivityDelegate {
public MainActivityDelegate(ReactActivity activity, String mainComponentName) {
super(activity, mainComponentName);
}
@Override
protected ReactRootView createRootView() {
ReactRootView reactRootView = new ReactRootView(getContext());
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED);
return reactRootView;
}
@Override
protected boolean isConcurrentRootEnabled() {
// If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18).
// More on this on https://reactjs.org/blog/2022/03/29/react-v18.html
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
}
return new DefaultReactActivityDelegate(
this,
getMainComponentName(),
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled
// If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18).
DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled
);
}
}

View File

@ -1,23 +1,20 @@
package com.xmflsct.app.tooot;
import android.app.Application;
import android.content.Context;
import android.content.res.Configuration;
import androidx.annotation.NonNull;
import com.facebook.react.PackageList;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.config.ReactFeatureFlags;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
import com.facebook.react.defaults.DefaultReactNativeHost;
import com.facebook.soloader.SoLoader;
import expo.modules.ApplicationLifecycleDispatcher;
import expo.modules.ReactNativeHostWrapper;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import com.facebook.react.bridge.JSIModulePackage; // <- react-native-reanimated-v2
@ -26,7 +23,7 @@ import com.swmansion.reanimated.ReanimatedJSIModulePackage; // <- react-native-r
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHostWrapper(
this,
new ReactNativeHost(this) {
new DefaultReactNativeHost(this) {
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
@ -46,6 +43,15 @@ public class MainApplication extends Application implements ReactApplication {
return "index";
}
@Override
protected boolean isNewArchEnabled() {
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
}
@Override
protected Boolean isHermesEnabled() {
return BuildConfig.IS_HERMES_ENABLED;
}
@Override // <- react-native-reanimated-v2
protected JSIModulePackage getJSIModulePackage() {
return new ReanimatedJSIModulePackage();
@ -54,59 +60,18 @@ public class MainApplication extends Application implements ReactApplication {
@Override
public ReactNativeHost getReactNativeHost() {
// if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// return mNewArchitectureNativeHost;
// } else {
// return mReactNativeHost;
// }
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
// If you opted-in for the New Architecture, we enable the TurboModule system
ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
SoLoader.init(this, /* native exopackage */ false);
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
ApplicationLifecycleDispatcher.onApplicationCreate(this);
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
ApplicationLifecycleDispatcher.onConfigurationChanged(this, newConfig);
}
/**
* Loads Flipper in React Native templates. Call this in the onCreate method with something like
* initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
*
* @param context
* @param reactInstanceManager
*/
private static void initializeFlipper(
Context context, ReactInstanceManager reactInstanceManager) {
if (BuildConfig.DEBUG) {
try {
/*
We use reflection here to pick up the class that initializes Flipper,
since Flipper library is not available in release mode
*/
Class<?> aClass = Class.forName("com.xmflsct.app.tooot.ReactNativeFlipper");
aClass
.getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
.invoke(null, context, reactInstanceManager);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// If you opted-in for the New Architecture, we load the native entry point for this app.
DefaultNewArchitectureEntryPoint.load();
}
// ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
}
}

View File

@ -0,0 +1,20 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
* directory of this source tree.
*/
package com.rndiffapp;
import android.content.Context;
import com.facebook.react.ReactInstanceManager;
/**
* Class responsible of loading Flipper inside your React Native application. This is the release
* flavor of it so it's empty as we don't want to load Flipper.
*/
public class ReactNativeFlipper {
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
// Do nothing as we don't want to initialize Flipper on Release.
}
}

View File

@ -2,19 +2,14 @@
buildscript {
ext {
buildToolsVersion = "31.0.0"
buildToolsVersion = "33.0.0"
minSdkVersion = 21
compileSdkVersion = 31
targetSdkVersion = 31
kotlinVersion = '1.6.10'
compileSdkVersion = 33
targetSdkVersion = 33
kotlinVersion = '1.8.10'
if (System.properties['os.arch'] == "aarch64") {
// For M1 Users we need to use the NDK 24 which added support for aarch64
ndkVersion = "24.0.8215888"
} else {
// Otherwise we default to the side-by-side NDK version from AGP.
ndkVersion = "21.4.7075529"
}
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
ndkVersion = "23.1.7779620"
}
repositories {
google()
@ -22,31 +17,8 @@ buildscript {
jcenter()
}
dependencies {
classpath('com.android.tools.build:gradle:7.2.2')
classpath("com.android.tools.build:gradle:7.3.1")
classpath("com.facebook.react:react-native-gradle-plugin")
classpath("de.undercouch:gradle-download-task:5.0.1")
classpath 'com.google.gms:google-services:4.3.14'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url(new File(["node", "--print", "require.resolve('react-native/package.json')"].execute().text.trim(), "../android"))
}
maven {
// Android JSC is installed from npm
url(new File(["node", "--print", "require.resolve('jsc-android/package.json')"].execute().text.trim(), "../dist"))
}
google()
mavenCentral()
jcenter()
maven { url 'https://www.jitpack.io' }
}
}

View File

@ -39,6 +39,10 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
# are providing them.
newArchEnabled=false
# Use this property to enable or disable the Hermes JS engine.
# If set to false, you will be using JSC instead.
hermesEnabled=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.daemon=true
org.gradle.parallel=true

View File

@ -9,9 +9,3 @@ applyNativeModulesSettingsGradle(settings)
include ':app'
includeBuild('../node_modules/react-native-gradle-plugin')
if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") {
include(":ReactAndroid")
project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid')
include(":ReactAndroid:hermes-engine")
project(":ReactAndroid:hermes-engine").projectDir = file('../node_modules/react-native/ReactAndroid/hermes-engine')
}

View File

@ -3,7 +3,13 @@ require File.join(File.dirname(`node --print "require.resolve('react-native/pack
require File.join(File.dirname(`node --print "require.resolve('@react-native-community/cli-platform-ios/package.json')"`), "native_modules")
platform :ios, '13.0'
install! 'cocoapods', :deterministic_uuids => false
prepare_react_native_project!
flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled
linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
use_frameworks! :linkage => linkage.to_sym
end
require 'json'
podfile_properties = JSON.parse(File.read('./Podfile.properties.json')) rescue {}
@ -19,7 +25,6 @@ target 'tooot' do
:path => config[:reactNativePath],
:hermes_enabled => true,
:fabric_enabled => flags[:fabric_enabled],
# :flipper_configuration => FlipperConfiguration.enabled(["Debug"], { 'Flipper' => '0.159.0' }),
:flipper_configuration => FlipperConfiguration.disabled,
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."

View File

@ -1,22 +1,22 @@
PODS:
- boost (1.76.0)
- DoubleConversion (1.1.6)
- EXApplication (5.0.1):
- EXApplication (5.1.1):
- ExpoModulesCore
- EXAV (13.2.1):
- ExpoModulesCore
- ReactCommon/turbomodule/core
- EXConstants (14.2.1):
- ExpoModulesCore
- EXErrorRecovery (4.0.1):
- EXErrorRecovery (4.1.1):
- ExpoModulesCore
- EXFileSystem (15.2.2):
- ExpoModulesCore
- EXFont (11.0.1):
- EXFont (11.1.1):
- ExpoModulesCore
- EXNotifications (0.17.0):
- ExpoModulesCore
- Expo (47.0.13):
- Expo (48.0.0-beta.2):
- ExpoModulesCore
- ExpoCrypto (12.2.1):
- ExpoModulesCore
@ -28,12 +28,13 @@ PODS:
- SDWebImageAVIFCoder (~> 0.9.4)
- SDWebImageSVGCoder (~> 1.6.1)
- SDWebImageWebPCoder (~> 0.9.1)
- ExpoKeepAwake (11.0.1):
- ExpoKeepAwake (12.0.1):
- ExpoModulesCore
- ExpoLocalization (14.1.1):
- ExpoModulesCore
- ExpoModulesCore (1.1.1):
- ExpoModulesCore (1.2.1):
- React-Core
- React-RCTAppDelegate
- ReactCommon/turbomodule/core
- ExpoRandom (13.1.1):
- ExpoModulesCore
@ -53,17 +54,19 @@ PODS:
- EXSplashScreen (0.17.5):
- ExpoModulesCore
- React-Core
- FBLazyVector (0.70.7)
- FBReactNativeSpec (0.70.7):
- FBLazyVector (0.71.2)
- FBReactNativeSpec (0.71.2):
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.70.7)
- RCTTypeSafety (= 0.70.7)
- React-Core (= 0.70.7)
- React-jsi (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- RCTRequired (= 0.71.2)
- RCTTypeSafety (= 0.71.2)
- React-Core (= 0.71.2)
- React-jsi (= 0.71.2)
- ReactCommon/turbomodule/core (= 0.71.2)
- fmt (6.2.1)
- glog (0.3.5)
- hermes-engine (0.70.7)
- hermes-engine (0.71.2):
- hermes-engine/Pre-built (= 0.71.2)
- hermes-engine/Pre-built (0.71.2)
- libaom (2.0.2):
- libvmaf
- libavif (0.10.1):
@ -103,214 +106,239 @@ PODS:
- fmt (~> 6.2.1)
- glog
- libevent
- RCTRequired (0.70.7)
- RCTTypeSafety (0.70.7):
- FBLazyVector (= 0.70.7)
- RCTRequired (= 0.70.7)
- React-Core (= 0.70.7)
- React (0.70.7):
- React-Core (= 0.70.7)
- React-Core/DevSupport (= 0.70.7)
- React-Core/RCTWebSocket (= 0.70.7)
- React-RCTActionSheet (= 0.70.7)
- React-RCTAnimation (= 0.70.7)
- React-RCTBlob (= 0.70.7)
- React-RCTImage (= 0.70.7)
- React-RCTLinking (= 0.70.7)
- React-RCTNetwork (= 0.70.7)
- React-RCTSettings (= 0.70.7)
- React-RCTText (= 0.70.7)
- React-RCTVibration (= 0.70.7)
- React-bridging (0.70.7):
- RCT-Folly (= 2021.07.22.00)
- React-jsi (= 0.70.7)
- React-callinvoker (0.70.7)
- React-Codegen (0.70.7):
- FBReactNativeSpec (= 0.70.7)
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.70.7)
- RCTTypeSafety (= 0.70.7)
- React-Core (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- React-Core (0.70.7):
- RCTRequired (0.71.2)
- RCTTypeSafety (0.71.2):
- FBLazyVector (= 0.71.2)
- RCTRequired (= 0.71.2)
- React-Core (= 0.71.2)
- React (0.71.2):
- React-Core (= 0.71.2)
- React-Core/DevSupport (= 0.71.2)
- React-Core/RCTWebSocket (= 0.71.2)
- React-RCTActionSheet (= 0.71.2)
- React-RCTAnimation (= 0.71.2)
- React-RCTBlob (= 0.71.2)
- React-RCTImage (= 0.71.2)
- React-RCTLinking (= 0.71.2)
- React-RCTNetwork (= 0.71.2)
- React-RCTSettings (= 0.71.2)
- React-RCTText (= 0.71.2)
- React-RCTVibration (= 0.71.2)
- React-callinvoker (0.71.2)
- React-Codegen (0.71.2):
- FBReactNativeSpec
- hermes-engine
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
- React-jsi
- React-jsiexecutor
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- React-Core (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.70.7)
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-Core/Default (= 0.71.2)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/CoreModulesHeaders (0.70.7):
- React-Core/CoreModulesHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/Default (0.70.7):
- React-Core/Default (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/DevSupport (0.70.7):
- React-Core/DevSupport (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.70.7)
- React-Core/RCTWebSocket (= 0.70.7)
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-jsinspector (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-Core/Default (= 0.71.2)
- React-Core/RCTWebSocket (= 0.71.2)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-jsinspector (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTActionSheetHeaders (0.70.7):
- React-Core/RCTActionSheetHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTAnimationHeaders (0.70.7):
- React-Core/RCTAnimationHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTBlobHeaders (0.70.7):
- React-Core/RCTBlobHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTImageHeaders (0.70.7):
- React-Core/RCTImageHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTLinkingHeaders (0.70.7):
- React-Core/RCTLinkingHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTNetworkHeaders (0.70.7):
- React-Core/RCTNetworkHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTSettingsHeaders (0.70.7):
- React-Core/RCTSettingsHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTTextHeaders (0.70.7):
- React-Core/RCTTextHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTVibrationHeaders (0.70.7):
- React-Core/RCTVibrationHeaders (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-Core/RCTWebSocket (0.70.7):
- React-Core/RCTWebSocket (0.71.2):
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.70.7)
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-Core/Default (= 0.71.2)
- React-cxxreact (= 0.71.2)
- React-hermes
- React-jsi (= 0.71.2)
- React-jsiexecutor (= 0.71.2)
- React-perflogger (= 0.71.2)
- Yoga
- React-CoreModules (0.70.7):
- React-CoreModules (0.71.2):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.7)
- React-Codegen (= 0.70.7)
- React-Core/CoreModulesHeaders (= 0.70.7)
- React-jsi (= 0.70.7)
- React-RCTImage (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- React-cxxreact (0.70.7):
- RCTTypeSafety (= 0.71.2)
- React-Codegen (= 0.71.2)
- React-Core/CoreModulesHeaders (= 0.71.2)
- React-jsi (= 0.71.2)
- React-RCTBlob
- React-RCTImage (= 0.71.2)
- ReactCommon/turbomodule/core (= 0.71.2)
- React-cxxreact (0.71.2):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsinspector (= 0.70.7)
- React-logger (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-runtimeexecutor (= 0.70.7)
- React-hermes (0.70.7):
- React-callinvoker (= 0.71.2)
- React-jsi (= 0.71.2)
- React-jsinspector (= 0.71.2)
- React-logger (= 0.71.2)
- React-perflogger (= 0.71.2)
- React-runtimeexecutor (= 0.71.2)
- React-hermes (0.71.2):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- RCT-Folly/Futures (= 2021.07.22.00)
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-jsiexecutor (= 0.70.7)
- React-jsinspector (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-jsi (0.70.7):
- React-cxxreact (= 0.71.2)
- React-jsi
- React-jsiexecutor (= 0.71.2)
- React-jsinspector (= 0.71.2)
- React-perflogger (= 0.71.2)
- React-jsi (0.71.2):
- boost (= 1.76.0)
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-jsi/Default (= 0.70.7)
- React-jsi/Default (0.70.7):
- boost (= 1.76.0)
- React-jsiexecutor (0.71.2):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-jsiexecutor (0.70.7):
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-jsinspector (0.70.7)
- React-logger (0.70.7):
- React-cxxreact (= 0.71.2)
- React-jsi (= 0.71.2)
- React-perflogger (= 0.71.2)
- React-jsinspector (0.71.2)
- React-logger (0.71.2):
- glog
- react-native-blur (4.3.0):
- React-Core
@ -324,7 +352,7 @@ PODS:
- React
- react-native-menu (0.7.3):
- React
- react-native-mmkv (2.5.1):
- react-native-mmkv (2.6.1):
- MMKV (>= 1.2.13)
- React-Core
- react-native-netinfo (9.3.7):
@ -344,72 +372,90 @@ PODS:
- ReactCommon/turbomodule/core
- react-native-segmented-control (2.2.2):
- React-Core
- React-perflogger (0.70.7)
- React-RCTActionSheet (0.70.7):
- React-Core/RCTActionSheetHeaders (= 0.70.7)
- React-RCTAnimation (0.70.7):
- React-perflogger (0.71.2)
- React-RCTActionSheet (0.71.2):
- React-Core/RCTActionSheetHeaders (= 0.71.2)
- React-RCTAnimation (0.71.2):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.7)
- React-Codegen (= 0.70.7)
- React-Core/RCTAnimationHeaders (= 0.70.7)
- React-jsi (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- React-RCTBlob (0.70.7):
- RCTTypeSafety (= 0.71.2)
- React-Codegen (= 0.71.2)
- React-Core/RCTAnimationHeaders (= 0.71.2)
- React-jsi (= 0.71.2)
- ReactCommon/turbomodule/core (= 0.71.2)
- React-RCTAppDelegate (0.71.2):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
- ReactCommon/turbomodule/core
- React-RCTBlob (0.71.2):
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.70.7)
- React-Core/RCTBlobHeaders (= 0.70.7)
- React-Core/RCTWebSocket (= 0.70.7)
- React-jsi (= 0.70.7)
- React-RCTNetwork (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- React-RCTImage (0.70.7):
- React-Codegen (= 0.71.2)
- React-Core/RCTBlobHeaders (= 0.71.2)
- React-Core/RCTWebSocket (= 0.71.2)
- React-jsi (= 0.71.2)
- React-RCTNetwork (= 0.71.2)
- ReactCommon/turbomodule/core (= 0.71.2)
- React-RCTImage (0.71.2):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.7)
- React-Codegen (= 0.70.7)
- React-Core/RCTImageHeaders (= 0.70.7)
- React-jsi (= 0.70.7)
- React-RCTNetwork (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- React-RCTLinking (0.70.7):
- React-Codegen (= 0.70.7)
- React-Core/RCTLinkingHeaders (= 0.70.7)
- React-jsi (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- React-RCTNetwork (0.70.7):
- RCTTypeSafety (= 0.71.2)
- React-Codegen (= 0.71.2)
- React-Core/RCTImageHeaders (= 0.71.2)
- React-jsi (= 0.71.2)
- React-RCTNetwork (= 0.71.2)
- ReactCommon/turbomodule/core (= 0.71.2)
- React-RCTLinking (0.71.2):
- React-Codegen (= 0.71.2)
- React-Core/RCTLinkingHeaders (= 0.71.2)
- React-jsi (= 0.71.2)
- ReactCommon/turbomodule/core (= 0.71.2)
- React-RCTNetwork (0.71.2):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.7)
- React-Codegen (= 0.70.7)
- React-Core/RCTNetworkHeaders (= 0.70.7)
- React-jsi (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- React-RCTSettings (0.70.7):
- RCTTypeSafety (= 0.71.2)
- React-Codegen (= 0.71.2)
- React-Core/RCTNetworkHeaders (= 0.71.2)
- React-jsi (= 0.71.2)
- ReactCommon/turbomodule/core (= 0.71.2)
- React-RCTSettings (0.71.2):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.70.7)
- React-Codegen (= 0.70.7)
- React-Core/RCTSettingsHeaders (= 0.70.7)
- React-jsi (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- React-RCTText (0.70.7):
- React-Core/RCTTextHeaders (= 0.70.7)
- React-RCTVibration (0.70.7):
- RCTTypeSafety (= 0.71.2)
- React-Codegen (= 0.71.2)
- React-Core/RCTSettingsHeaders (= 0.71.2)
- React-jsi (= 0.71.2)
- ReactCommon/turbomodule/core (= 0.71.2)
- React-RCTText (0.71.2):
- React-Core/RCTTextHeaders (= 0.71.2)
- React-RCTVibration (0.71.2):
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.70.7)
- React-Core/RCTVibrationHeaders (= 0.70.7)
- React-jsi (= 0.70.7)
- ReactCommon/turbomodule/core (= 0.70.7)
- React-runtimeexecutor (0.70.7):
- React-jsi (= 0.70.7)
- ReactCommon/turbomodule/core (0.70.7):
- React-Codegen (= 0.71.2)
- React-Core/RCTVibrationHeaders (= 0.71.2)
- React-jsi (= 0.71.2)
- ReactCommon/turbomodule/core (= 0.71.2)
- React-runtimeexecutor (0.71.2):
- React-jsi (= 0.71.2)
- ReactCommon/turbomodule/bridging (0.71.2):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-bridging (= 0.70.7)
- React-callinvoker (= 0.70.7)
- React-Core (= 0.70.7)
- React-cxxreact (= 0.70.7)
- React-jsi (= 0.70.7)
- React-logger (= 0.70.7)
- React-perflogger (= 0.70.7)
- React-callinvoker (= 0.71.2)
- React-Core (= 0.71.2)
- React-cxxreact (= 0.71.2)
- React-jsi (= 0.71.2)
- React-logger (= 0.71.2)
- React-perflogger (= 0.71.2)
- ReactCommon/turbomodule/core (0.71.2):
- DoubleConversion
- glog
- hermes-engine
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.71.2)
- React-Core (= 0.71.2)
- React-cxxreact (= 0.71.2)
- React-jsi (= 0.71.2)
- React-logger (= 0.71.2)
- React-perflogger (= 0.71.2)
- RNCAsyncStorage (1.17.11):
- React-Core
- RNCClipboard (1.11.1):
@ -496,13 +542,12 @@ DEPENDENCIES:
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- hermes-engine (from `../node_modules/react-native/sdks/hermes/hermes-engine.podspec`)
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
- libevent (~> 2.1.12)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
- React (from `../node_modules/react-native/`)
- React-bridging (from `../node_modules/react-native/ReactCommon`)
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Codegen (from `build/generated/ios`)
- React-Core (from `../node_modules/react-native/`)
@ -530,6 +575,7 @@ DEPENDENCIES:
- React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
- React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`)
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
- React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
- React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
@ -622,7 +668,7 @@ EXTERNAL SOURCES:
glog:
:podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec"
hermes-engine:
:podspec: "../node_modules/react-native/sdks/hermes/hermes-engine.podspec"
:podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
RCT-Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
RCTRequired:
@ -631,8 +677,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/TypeSafety"
React:
:path: "../node_modules/react-native/"
React-bridging:
:path: "../node_modules/react-native/ReactCommon"
React-callinvoker:
:path: "../node_modules/react-native/ReactCommon/callinvoker"
React-Codegen:
@ -685,6 +729,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
React-RCTAnimation:
:path: "../node_modules/react-native/Libraries/NativeAnimation"
React-RCTAppDelegate:
:path: "../node_modules/react-native/Libraries/AppDelegate"
React-RCTBlob:
:path: "../node_modules/react-native/Libraries/Blob"
React-RCTImage:
@ -725,20 +771,20 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
boost: a7c83b31436843459a1961bfd74b96033dc77234
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
EXApplication: 034b1c40a8e9fe1bff76a1e511ee90dff64ad834
EXApplication: d8f53a7eee90a870a75656280e8d4b85726ea903
EXAV: f1f69397ecdcf44cfacd4ff5d338cd1b96891e87
EXConstants: f348da07e21b23d2b085e270d7b74f282df1a7d9
EXErrorRecovery: ae43433feb0608a64dc5b1c8363b3e7769a9ea24
EXErrorRecovery: ebb57ae947ff94667f1cbc12f403bb5a043d734d
EXFileSystem: 844e86ca9b5375486ecc4ef06d3838d5597d895d
EXFont: 319606bfe48c33b5b5063fb0994afdc496befe80
EXFont: 6ea3800df746be7233208d80fe379b8ed74f4272
EXNotifications: babce2a87b7922051354fcfe7a74dd279b7e272a
Expo: b9fa98bf260992312ee3c424400819fb9beadafe
Expo: 1b7b4ec09bd939db6d98985231a0789aa3f6670a
ExpoCrypto: 477dfe89c81527b376f2c344ca1d2a01244b243c
ExpoHaptics: 5156bc5160d8e04c170dd6e645a71154951a2ad9
ExpoImage: 817b31855fdb817e21f962e8e8ccf5cbc35e1191
ExpoKeepAwake: 69b59d0a8d2b24de9f82759c39b3821fec030318
ExpoKeepAwake: 69f5f627670d62318410392d03e0b5db0f85759a
ExpoLocalization: f26cd431ad9ea3533c5b08c4fabd879176a794bb
ExpoModulesCore: 485dff3a59b036a33b6050c0a5aea3cf1037fdd1
ExpoModulesCore: 2f4bd2ae0cd03d30c3c286f5d843e22f72ccdb55
ExpoRandom: 7ee07d62e7003b74d0536e0495e3a653fe1b2a74
ExpoStoreReview: d057dcca4b9c95f3c9db11bd2e168dab9cba59f3
ExpoVideoThumbnails: 0021303b614a89fcc5df8b59d9d37ddf14a7d4cf
@ -747,11 +793,11 @@ SPEC CHECKSUMS:
EXScreenOrientation: 52220f8f2477ed25a37e3b2cdbbaa8635d250256
EXSecureStore: e8923258361cc406d0401af380f12bd05b2b720f
EXSplashScreen: 3e989924f61a8dd07ee4ea584c6ba14be9b51949
FBLazyVector: a6454570f573a0f6f1d397e5a95c13e8e45d1700
FBReactNativeSpec: 09e8dfba44487e5dc4882a9f5318cde67549549c
FBLazyVector: d58428b28fe1f5070fe993495b0e2eaf701d3820
FBReactNativeSpec: 225fb0f0ab00493ce0731f954da3658638d9b191
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
hermes-engine: 566e656aa95456a3f3f739fd76ea9a9656f2633f
hermes-engine: 6351580c827b3b03e5f25aadcf989f582d0b0a86
libaom: 9bb51e0f8f9192245e3ca2a1c9e4375d9cbccc52
libavif: e242998ccec1c83bcba0bbdc256f460ad5077348
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
@ -760,49 +806,49 @@ SPEC CHECKSUMS:
MMKV: 7f34558bbb5a33b0eaefae2de4b6a20a2ffdad6f
MMKVCore: ddf41b9d9262f058419f9ba7598719af56c02cd3
RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda
RCTRequired: 837880d26ec119e105317dc28a456f3016bf16d1
RCTTypeSafety: 5c854c04c3383cab04f404e25d408ed52124b300
React: ec6efc54c0fbb7c2e7147624c78065be80753082
React-bridging: 7dd96a58f896a1a7422a491d17ec644e87277953
React-callinvoker: f348d204f7bbe6020d4fd0dd57303f5b48a28003
React-Codegen: 73350192a09163a640c23baf795464474be0d793
React-Core: c57b11fd672421049038ef36881372da2605a0cd
React-CoreModules: 2d91acffc3924adac6b508e3fc44121aa719ec40
React-cxxreact: ee2ab13a1db086dc152421aa42dc94cc68f412a1
React-hermes: be9d64f5019238ce22ae4e7d242c4f2e96d60595
React-jsi: 04031a830f9714e95d517153817ba7bfc15bfdf8
React-jsiexecutor: e95cdd036e7947ddf87f3049319ac3064deb76b5
React-jsinspector: 1c34fea1868136ecde647bc11fae9266d4143693
React-logger: e9f407f9fdf3f3ce7749ae6f88affe63e8446019
RCTRequired: c154ebcfbf41d6fef86c52674fc1aa08837ff538
RCTTypeSafety: 3063e5a1e5b1dc2cbeda5c8f8926c0ad1a6b0871
React: 0a1a36e8e81cfaac244ed88b97f23ab56e5434f0
React-callinvoker: 679a09fbfe1a8bbf0c8588b588bf3ef85e7e4922
React-Codegen: 78f8966839f22b54d3303a6aca2679bce5723c3f
React-Core: 679e5ff1eb0e3122463976d0b2049bebcb7b33d6
React-CoreModules: 06cbf15185e6daf9fb3aec02c963f4807bd794b3
React-cxxreact: 645dc75c9deba4c15698b1b5902236d6a766461f
React-hermes: bc7bcfeaaa7cb98dc9f9252f2f3eca66f06f01e2
React-jsi: 82625f9f1f8d7abf716d897612a9ea06ecf6db6e
React-jsiexecutor: c7e028406112db456ac3cf5720d266bc7bc20938
React-jsinspector: ea8101acf525ec08b2d87ddf0637d45f8e3b4148
React-logger: 97987f46779d8dd24656474ad0c43a5b459f31d6
react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3
react-native-cameraroll: 5b25d0be40185d02e522bf2abf8a1ba4e8faa107
react-native-image-picker: 8cb4280e2c1efc3daeb2d9d597f9429a60472e40
react-native-ios-context-menu: e529171ba760a1af7f2ef0729f5a7f4d226171c5
react-native-language-detection: f414937fa715108ab50a6269a3de0bcb95e4ceb0
react-native-menu: 9d7d6f819cc7fa14a15cf86888c53f3240d86f1b
react-native-mmkv: 69b9c003f10afdd01addf7c6ee784ce42ee2eff3
react-native-mmkv: 28af0c2a3dc9495c2cea80f9d41444e096c2a1ef
react-native-netinfo: 2517ad504b3d303e90d7a431b0fcaef76d207983
react-native-pager-view: 54bed894cecebe28cede54c01038d9d1e122de43
react-native-paste-input: fb7156dc75960c9895ddd9b9d68eeb874c9f323a
react-native-quick-base64: e657e9197e61b60a9dec49807843052b830da254
react-native-safe-area-context: 39c2d8be3328df5d437ac1700f4f3a4f75716acc
react-native-segmented-control: 65df6cd0619b780b3843d574a72d4c7cec396097
React-perflogger: 52a94f38c19a518d05726624b49bfc192639374d
React-RCTActionSheet: 7b89fe64a852bc3ae39b91dbd142ef09931ef3f7
React-RCTAnimation: ad84bfbf8c5f6f77e65092d0c2b0506b80b5cf99
React-RCTBlob: e4ee3ab649459329f5aa59d903762bfbd6164220
React-RCTImage: aeb508f6ac80a94904a646dde61b0f67ea757ea7
React-RCTLinking: 1171b3fdc265c479b7039069ce7e8fef68ca70aa
React-RCTNetwork: 5d87cc4afd1fcef86fb2f804f26366f0314769fe
React-RCTSettings: 644545854880b7d03c49f620664a307fd4613a1d
React-RCTText: f8e4a283be2290a76b89f4a83ba2277faf90930d
React-RCTVibration: eb7837d55b87c7a4ead3ab7632ad70dca87c65dc
React-runtimeexecutor: 7cec9ed92ebde8309902530bb566819645c84ee5
ReactCommon: 0253d197eaa7f6689dcd3e7d5360449ab93e10df
React-perflogger: c7ccda3d1d1da837f7ff4e54e816022a6803ee87
React-RCTActionSheet: 01c125aebbad462a24228f68c584c7a921d6c28e
React-RCTAnimation: 5277a9440acffc4a5b7baa6ae3880fe467277ae6
React-RCTAppDelegate: 3977201606125157aa94872b4171ca316478939b
React-RCTBlob: 8e15fc9091d8947f406ba706f11505b38b1b5e40
React-RCTImage: 65319acfe82b85219b2d410725a593abe19ac795
React-RCTLinking: a5fc2b9d7a346d6e7d34de8093bb5d1064042508
React-RCTNetwork: 5d1efcd01ca7f08ebf286d68be544f747a5d315a
React-RCTSettings: fa760b0add819ac3ad73b06715f9547316acdf20
React-RCTText: 05c244b135d75d4395eb35c012949a5326f8ab70
React-RCTVibration: 0af3babdeee1b2d052811a2f86977d1e1c81ebd1
React-runtimeexecutor: 4bf9a9086d27f74065fce1dddac274aa95216952
ReactCommon: f697c0ac52e999aa818e43e2b6f277787c735e2d
RNCAsyncStorage: 8616bd5a58af409453ea4e1b246521bb76578d60
RNCClipboard: 2834e1c4af68697089cdd455ee4a4cdd198fa7dd
RNGestureHandler: 071d7a9ad81e8b83fe7663b303d132406a7d8f39
RNReanimated: 6668b0587bebd4b15dd849b99e5a9c70fc12ed95
RNReanimated: cc5e3aa479cb9170bcccf8204291a6950a3be128
RNScreens: ea4cd3a853063cda19a4e3c28d2e52180c80f4eb
RNSentry: 7e90aec2633d2fdad8aeb839c9915e4376fd27d1
RNShareMenu: cb9dac548c8bf147d06f0bf07296ad51ea9f5fc3
@ -813,8 +859,8 @@ SPEC CHECKSUMS:
SDWebImageWebPCoder: 18503de6621dd2c420d680e33d46bf8e1d5169b0
Sentry: 4c9babff9034785067c896fd580b1f7de44da020
Swime: d7b2c277503b6cea317774aedc2dce05613f8b0b
Yoga: 92d086bb705a41cc588599b51db726ba7b1d341c
Yoga: 5b0304b3dbef2b52e078052138e23a19c7dacaef
PODFILE CHECKSUM: 08742f25aa1cdb93d6d5d5efeafd8803ba02b689
PODFILE CHECKSUM: 61a84f1ad8a466fbbbf09e0f8bb3ed30b2d5e301
COCOAPODS: 1.11.3

View File

@ -382,7 +382,7 @@
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-tooot/Pods-tooot-frameworks.sh",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/hermes.framework/hermes",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (

View File

@ -1,9 +1,9 @@
#import <Foundation/Foundation.h>
#import <React/RCTBridgeDelegate.h>
#import <RCTAppDelegate.h>
#import <UIKit/UIKit.h>
#import <Expo/Expo.h>
@interface AppDelegate : EXAppDelegateWrapper <UIApplicationDelegate, RCTBridgeDelegate>
@interface AppDelegate : RCTAppDelegate
@end

View File

@ -1,88 +1,16 @@
#import "AppDelegate.h"
#import <React/RCTBridge.h>
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import <React/RCTAppSetupUtils.h>
#import <React/RCTLinkingManager.h>
#import <RNShareMenu/ShareMenuManager.h>
#if RCT_NEW_ARCH_ENABLED
#import <React/CoreModulesPlugins.h>
#import <React/RCTCxxBridgeDelegate.h>
#import <React/RCTFabricSurfaceHostingProxyRootView.h>
#import <React/RCTSurfacePresenter.h>
#import <React/RCTSurfacePresenterBridgeAdapter.h>
#import <ReactCommon/RCTTurboModuleManager.h>
#import <react/config/ReactNativeConfig.h>
static NSString *const kRNConcurrentRoot = @"concurrentRoot";
@interface AppDelegate () <RCTCxxBridgeDelegate, RCTTurboModuleManagerDelegate> {
RCTTurboModuleManager *_turboModuleManager;
RCTSurfacePresenterBridgeAdapter *_bridgeAdapter;
std::shared_ptr<const facebook::react::ReactNativeConfig> _reactNativeConfig;
facebook::react::ContextContainer::Shared _contextContainer;
}
@end
#endif
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
RCTAppSetupPrepareApp(application);
RCTBridge *bridge = [self.reactDelegate createBridgeWithDelegate:self launchOptions:launchOptions];
#if RCT_NEW_ARCH_ENABLED
_contextContainer = std::make_shared<facebook::react::ContextContainer const>();
_reactNativeConfig = std::make_shared<facebook::react::EmptyReactNativeConfig const>();
_contextContainer->insert("ReactNativeConfig", _reactNativeConfig);
_bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:bridge contextContainer:_contextContainer];
bridge.surfacePresenter = _bridgeAdapter.surfacePresenter;
#endif
UIView *rootView = [self.reactDelegate createRootViewWithBridge:bridge moduleName:@"main" initialProperties:nil];
// NSDictionary *initProps = [self prepareInitialProps];
// UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"tooot", initProps);
if (@available(iOS 13.0, *)) {
rootView.backgroundColor = [UIColor colorNamed:@"SplashScreenBackgroundColor"];
} else {
rootView.backgroundColor = [UIColor whiteColor];
}
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [self.reactDelegate createRootViewController];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
[super application:application didFinishLaunchingWithOptions:launchOptions];
return YES;
}
/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off.
///
/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html
/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture).
/// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`.
- (BOOL)concurrentRootEnabled
{
// Switch this bool to turn on and off the concurrent root
return false;
}
- (NSDictionary *)prepareInitialProps
{
NSMutableDictionary *initProps = [NSMutableDictionary new];
#ifdef RCT_NEW_ARCH_ENABLED
initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]);
#endif
return initProps;
self.moduleName = @"main";
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
@ -94,40 +22,16 @@ static NSString *const kRNConcurrentRoot = @"concurrentRoot";
#endif
}
#if RCT_NEW_ARCH_ENABLED
#pragma mark - RCTCxxBridgeDelegate
- (std::unique_ptr<facebook::react::JSExecutorFactory>)jsExecutorFactoryForBridge:(RCTBridge *)bridge
/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off.
///
/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html
/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture).
/// @return: `true` if the `concurrentRoot` feature is enabled. Otherwise, it returns `false`.
- (BOOL)concurrentRootEnabled
{
_turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge delegate:self jsInvoker:bridge.jsCallInvoker];
return RCTAppSetupDefaultJsExecutorFactory(bridge, _turboModuleManager);
return true;
}
#pragma mark RCTTurboModuleManagerDelegate
- (Class)getModuleClassFromName:(const char *)name
{
return RCTCoreModulesClassProvider(name);
}
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name jsInvoker:(std::shared_ptr<facebook::react::CallInvoker>)jsInvoker
{
return nullptr;
}
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name initParams: (const facebook::react::ObjCTurboModule::InitParams &)params
{
return nullptr;
}
- (id<RCTTurboModule>)getModuleInstanceFromClass:(Class)moduleClass
{
return RCTAppSetupDefaultModuleFromClass(moduleClass);
}
#endif
// Linking API
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
NSString *urlString = url.absoluteString;

View File

@ -1,92 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>tooot</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.xmflsct.app.tooot</string>
<key>CFBundleURLSchemes</key>
<array>
<string>tooot-share</string>
<string>tooot</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>2102022230</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.social-networking</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
<key>NSLocationWhenInUseUsageDescription</key>
<string></string>
<key>NSMainNibFile</key>
<string>LaunchScreen</string>
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) DOES NOT need microphone permission. Please reject this request.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Allow $(PRODUCT_NAME) to save an image to your camera roll</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Allow $(PRODUCT_NAME) to access your camera roll to attach photos or videos to your toot</string>
<key>UILaunchStoryboardName</key>
<string>SplashScreen</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UIRequiresFullScreen</key>
<false/>
<key>UIStatusBarHidden</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIUserInterfaceStyle</key>
<string>Automatic</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
</dict>
<dict>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>tooot</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.xmflsct.app.tooot</string>
<key>CFBundleURLSchemes</key>
<array>
<string>tooot-share</string>
<string>tooot</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>2102022230</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationCategoryType</key>
<string>public.app-category.social-networking</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
<key>NSLocationWhenInUseUsageDescription</key>
<string></string>
<key>NSMainNibFile</key>
<string>LaunchScreen</string>
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) DOES NOT need microphone permission. Please reject this request.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Allow $(PRODUCT_NAME) to save an image to your camera roll</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Allow $(PRODUCT_NAME) to access your camera roll to attach photos or videos to your toot</string>
<key>UILaunchStoryboardName</key>
<string>SplashScreen.storyboard</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
</array>
<key>UIRequiresFullScreen</key>
<false/>
<key>UIStatusBarHidden</key>
<true/>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIUserInterfaceStyle</key>
<string>Automatic</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
</dict>
</plist>

View File

@ -43,7 +43,7 @@
"@tanstack/react-query": "^4.24.4",
"axios": "^1.3.2",
"diff": "^5.1.0",
"expo": "^47.0.13",
"expo": "^48.0.0-beta",
"expo-auth-session": "^3.8.0",
"expo-av": "^13.2.1",
"expo-constants": "^14.2.1",
@ -70,13 +70,13 @@
"react-dom": "^18.2.0",
"react-i18next": "^12.1.5",
"react-intl": "^6.2.8",
"react-native": "^0.70.7",
"react-native": "^0.71.2",
"react-native-flash-message": "^0.4.0",
"react-native-gesture-handler": "~2.9.0",
"react-native-image-picker": "^5.0.1",
"react-native-ios-context-menu": "^1.15.3",
"react-native-language-detection": "^0.2.2",
"react-native-mmkv": "~2.5.1",
"react-native-mmkv": "~2.6.1",
"react-native-pager-view": "^6.1.2",
"react-native-quick-base64": "^2.0.5",
"react-native-reanimated": "^2.14.4",
@ -102,7 +102,6 @@
"@types/lodash": "^4.14.191",
"@types/react": "^18.0.28",
"@types/react-dom": "^18.0.10",
"@types/react-native": "^0.70.10",
"@types/react-native-share-menu": "^5.0.2",
"@types/url-parse": "^1.4.8",
"babel-plugin-module-resolver": "^5.0.0",

View File

@ -1,22 +1,46 @@
{
"$schema": "https://json.schemastore.org/tsconfig",
"display": "React Native",
"_version": "2.0.3",
"compilerOptions": {
"target": "ES6",
"allowSyntheticDefaultImports": true,
"target": "esnext",
"module": "commonjs",
"types": [
"react-native"
],
"lib": [
"es2019"
],
"allowJs": false,
"jsx": "react-native",
"lib": ["dom", "esnext"],
"moduleResolution": "node",
"noEmit": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"isolatedModules": true,
"strict": true,
"strictFunctionTypes": false,
"moduleResolution": "node",
"resolveJsonModule": true,
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"esModuleInterop": true,
"skipLibCheck": true,
"baseUrl": "./",
"paths": {
"@components/*": ["./src/components/*"],
"@i18n/*": ["./src/i18n/*"],
"@screens/*": ["./src/screens/*"],
"@utils/*": ["./src/utils/*"]
"@components/*": [
"./src/components/*"
],
"@i18n/*": [
"./src/i18n/*"
],
"@screens/*": [
"./src/screens/*"
],
"@utils/*": [
"./src/utils/*"
]
}
},
"exclude": ["node_modules"]
}
"exclude": [
"node_modules",
"babel.config.js",
"metro.config.js"
]
}

1288
yarn.lock

File diff suppressed because it is too large Load Diff