agora-appbuilder-core 4.1.29 → 4.1.30-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/Readme.md +2 -0
  2. package/package.json +1 -1
  3. package/template/Gulpfile.js +34 -0
  4. package/template/_package-lock.json +2491 -3084
  5. package/template/android/app/build.gradle +33 -23
  6. package/template/android/app/src/main/AndroidManifest.xml +5 -3
  7. package/template/android/app/src/main/java/com/helloworld/MainApplication.java +14 -2
  8. package/template/android/build.gradle +42 -7
  9. package/template/android/gradle/wrapper/gradle-wrapper.properties +3 -3
  10. package/template/android/gradle.properties +0 -3
  11. package/template/android/settings.gradle +4 -2
  12. package/template/babel.config.js +1 -1
  13. package/template/defaultConfig.js +2 -2
  14. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +8 -6
  15. package/template/ios/Podfile +3 -45
  16. package/template/ios/Podfile.lock +1806 -524
  17. package/template/metro.config.js +6 -1
  18. package/template/package.json +28 -20
  19. package/template/patches/@supersami+rn-foreground-service+1.1.1.patch +12 -0
  20. package/template/scripts/verify-android-native-libs.py +106 -0
  21. package/template/src/AppWrapper.tsx +2 -7
  22. package/template/src/atoms/Carousel.native.tsx +22 -5
  23. package/template/src/atoms/CustomSwitch.tsx +0 -1
  24. package/template/src/atoms/Dropdown.tsx +0 -1
  25. package/template/src/atoms/MeetingLink.tsx +5 -12
  26. package/template/src/atoms/Popup.tsx +26 -2
  27. package/template/src/components/AppSafeAreaView.android.tsx +15 -0
  28. package/template/src/components/AppSafeAreaView.tsx +1 -0
  29. package/template/src/components/Precall.native.tsx +40 -10
  30. package/template/src/components/Share.tsx +27 -6
  31. package/template/src/components/meeting-info-invite/MeetingInfo.tsx +21 -3
  32. package/template/src/components/meeting-info-invite/MeetingInfoGridTile.tsx +11 -2
  33. package/template/src/components/useVideoCall.tsx +35 -1
  34. package/template/src/language/default-labels/joinScreenLabels.ts +2 -2
  35. package/template/src/pages/Create.tsx +26 -3
  36. package/template/src/pages/video-call/ActionSheet.native.tsx +11 -11
  37. package/template/src/pages/video-call/VideoCallScreen.native.tsx +34 -5
  38. package/template/src/pages/video-call/__tests__/VideoCallScreen.native.test.tsx +95 -0
  39. package/template/src/subComponents/Clipboard.native.tsx +1 -1
  40. package/template/src/subComponents/caption/CaptionIcon.tsx +11 -14
  41. package/template/src/subComponents/caption/TranscriptIcon.tsx +10 -14
  42. package/template/src/utils/useIsTablet.ts +10 -0
  43. package/template/android/app/src/debug/java/com/helloworld/ReactNativeFlipper.java +0 -75
  44. package/template/android/app/src/release/java/com/helloworld/ReactNativeFlipper.java +0 -20
@@ -1,11 +1,21 @@
1
1
  apply plugin: "com.android.application"
2
2
  apply plugin: "com.facebook.react"
3
3
 
4
+ dependencies {
5
+ // Declare before autolinking: pickFirst must select this shared AOSL version,
6
+ // rather than the older copy bundled in RTM. RTC and Chat need its new symbols.
7
+ // https://doc.shengwang.cn/faq/integration-issues/rtm2-rtc-integration-issue
8
+ implementation("io.agora.infra:aosl:1.3.5")
9
+ }
10
+
4
11
  /**
5
12
  * This is the configuration block to customize your React Native Android app.
6
13
  * By default you don't need to apply any configuration, just uncomment the lines you need.
7
14
  */
8
15
  react {
16
+ autolinkLibrariesWithApp()
17
+ // Bound Metro's memory use while Gradle compiles native modules in parallel.
18
+ extraPackagerArgs = ["--max-workers", "4"]
9
19
  /* Folders */
10
20
  // The root of your project, i.e. where "package.json" lives. Default is '..'
11
21
  // root = file("../")
@@ -68,6 +78,18 @@ def enableProguardInReleaseBuilds = false
68
78
  */
69
79
  def jscFlavor = 'org.webkit:android-jsc:+'
70
80
 
81
+ // Supply these through ~/.gradle/gradle.properties or environment variables.
82
+ def uploadSigning = [
83
+ storeFile: providers.gradleProperty('APPBUILDER_UPLOAD_STORE_FILE').orElse(providers.environmentVariable('APPBUILDER_UPLOAD_STORE_FILE')).orNull,
84
+ storePassword: providers.gradleProperty('APPBUILDER_UPLOAD_STORE_PASSWORD').orElse(providers.environmentVariable('APPBUILDER_UPLOAD_STORE_PASSWORD')).orNull,
85
+ keyAlias: providers.gradleProperty('APPBUILDER_UPLOAD_KEY_ALIAS').orElse(providers.environmentVariable('APPBUILDER_UPLOAD_KEY_ALIAS')).orNull,
86
+ keyPassword: providers.gradleProperty('APPBUILDER_UPLOAD_KEY_PASSWORD').orElse(providers.environmentVariable('APPBUILDER_UPLOAD_KEY_PASSWORD')).orNull,
87
+ ]
88
+ def hasUploadSigning = uploadSigning.values().every { it != null && !it.isEmpty() }
89
+ if (uploadSigning.values().any { it != null } && !hasUploadSigning) {
90
+ throw new GradleException('Set all four APPBUILDER_UPLOAD_* signing properties to sign a Play release.')
91
+ }
92
+
71
93
  android {
72
94
  ndkVersion rootProject.ext.ndkVersion
73
95
 
@@ -88,25 +110,29 @@ android {
88
110
  keyAlias 'androiddebugkey'
89
111
  keyPassword 'android'
90
112
  }
113
+ if (hasUploadSigning) {
114
+ release {
115
+ storeFile file(uploadSigning.storeFile)
116
+ storePassword uploadSigning.storePassword
117
+ keyAlias uploadSigning.keyAlias
118
+ keyPassword uploadSigning.keyPassword
119
+ }
120
+ }
91
121
  }
92
122
  buildTypes {
93
123
  debug {
94
124
  signingConfig signingConfigs.debug
95
125
  }
96
126
  release {
97
- // Caution! In production, you need to generate your own keystore file.
98
- // see https://reactnative.dev/docs/signed-apk-android.
99
- signingConfig signingConfigs.debug
127
+ // Without an upload key, release artifacts are signed for local QA only.
128
+ signingConfig hasUploadSigning ? signingConfigs.release : signingConfigs.debug
100
129
  minifyEnabled enableProguardInReleaseBuilds
101
130
  proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
102
131
  }
103
132
  }
104
133
 
105
134
  packagingOptions {
106
- pickFirst '**/lib/arm64-v8a/libaosl.so'
107
- pickFirst '**/lib/armeabi-v7a/libaosl.so'
108
- pickFirst '**/lib/x86/libaosl.so'
109
- pickFirst '**/lib/x86_64/libaosl.so'
135
+ pickFirst 'lib/**/libaosl.so'
110
136
  }
111
137
  }
112
138
 
@@ -114,25 +140,9 @@ dependencies {
114
140
  // The version of react-native is set by the React Native Gradle Plugin
115
141
  implementation("com.facebook.react:react-android")
116
142
 
117
- debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
118
- debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
119
- exclude group:'com.squareup.okhttp3', module:'okhttp'
120
- }
121
-
122
- debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
123
143
  if (hermesEnabled.toBoolean()) {
124
144
  implementation("com.facebook.react:hermes-android")
125
145
  } else {
126
146
  implementation jscFlavor
127
147
  }
128
- constraints {
129
- implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.21") {
130
- because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
131
- }
132
- implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.21") {
133
- because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
134
- }
135
- }
136
148
  }
137
-
138
- apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
@@ -1,10 +1,12 @@
1
1
  <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
2
  <uses-permission android:name="android.permission.INTERNET" />
3
3
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
4
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
5
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
4
6
  <uses-permission android:name="android.permission.WAKE_LOCK" />
5
7
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
6
8
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
7
- <application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" android:theme="@style/AppTheme">
9
+ <application android:name=".MainApplication" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" android:theme="@style/AppTheme" android:enableOnBackInvokedCallback="false">
8
10
  <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode" android:launchMode="singleTask" android:windowSoftInputMode="adjustResize" android:screenOrientation="portrait" android:exported="true">
9
11
  <intent-filter>
10
12
  <action android:name="android.intent.action.MAIN" />
@@ -15,7 +17,7 @@
15
17
  <meta-data android:name="com.supersami.foregroundservice.notification_channel_name" android:value="AppBuilder"/>
16
18
  <meta-data android:name="com.supersami.foregroundservice.notification_channel_description" android:value="AppBuilder is running"/>
17
19
  <meta-data android:name="com.supersami.foregroundservice.notification_color" android:resource="@color/blue"/>
18
- <service android:name="com.supersami.foregroundservice.ForegroundService" />
20
+ <service android:name="com.supersami.foregroundservice.ForegroundService" android:foregroundServiceType="microphone|mediaPlayback" />
19
21
  <service android:name="com.supersami.foregroundservice.ForegroundServiceTask" />
20
22
  </application>
21
- </manifest>
23
+ </manifest>
@@ -3,11 +3,15 @@ package com.helloworld;
3
3
  import android.app.Application;
4
4
  import com.facebook.react.PackageList;
5
5
  import com.facebook.react.ReactApplication;
6
+ import com.facebook.react.ReactHost;
6
7
  import com.facebook.react.ReactNativeHost;
7
8
  import com.facebook.react.ReactPackage;
8
9
  import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
9
10
  import com.facebook.react.defaults.DefaultReactNativeHost;
11
+ import com.facebook.react.defaults.DefaultReactHost;
12
+ import com.facebook.react.soloader.OpenSourceMergedSoMapping;
10
13
  import com.facebook.soloader.SoLoader;
14
+ import java.io.IOException;
11
15
  import java.util.List;
12
16
  import com.facebook.react.modules.network.OkHttpClientProvider;
13
17
 
@@ -51,15 +55,23 @@ public class MainApplication extends Application implements ReactApplication {
51
55
  return mReactNativeHost;
52
56
  }
53
57
 
58
+ @Override
59
+ public ReactHost getReactHost() {
60
+ return DefaultReactHost.getDefaultReactHost(getApplicationContext(), mReactNativeHost);
61
+ }
62
+
54
63
  @Override
55
64
  public void onCreate() {
56
65
  super.onCreate();
57
- SoLoader.init(this, /* native exopackage */ false);
66
+ try {
67
+ SoLoader.init(this, OpenSourceMergedSoMapping.INSTANCE);
68
+ } catch (IOException error) {
69
+ throw new RuntimeException("Unable to initialize React Native libraries", error);
70
+ }
58
71
  if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
59
72
  // If you opted-in for the New Architecture, we load the native entry point for this app.
60
73
  DefaultNewArchitectureEntryPoint.load();
61
74
  }
62
- ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
63
75
  SSLPinningFactory sslPinningFactory = new SSLPinningFactory(getApplicationContext());
64
76
  OkHttpClientProvider.setOkHttpClientFactory(sslPinningFactory);
65
77
  }
@@ -2,23 +2,48 @@
2
2
 
3
3
  buildscript {
4
4
  ext {
5
- buildToolsVersion = "33.0.0"
5
+ buildToolsVersion = "35.0.0"
6
6
  minSdkVersion = 24
7
- compileSdkVersion = 34
8
- targetSdkVersion = 34
7
+ compileSdkVersion = 36
8
+ targetSdkVersion = 36
9
9
 
10
- // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
11
- ndkVersion = "23.1.7779620"
12
- kotlinVersion = "1.8.21" // added this for datadog logs - https://docs.datadoghq.com/real_user_monitoring/mobile_and_tv_monitoring/setup/reactnative/#setup
10
+ ndkVersion = "27.1.12297006"
11
+ kotlinVersion = "2.0.21"
13
12
  androidXAnnotation = "1.2.0"
14
13
  androidXBrowser = "1.3.0"
15
14
  }
16
15
  subprojects { subproject ->
16
+ // Older native modules declare obsolete AGP versions in their own builds.
17
+ subproject.buildscript.repositories {
18
+ google()
19
+ mavenCentral()
20
+ }
21
+ subproject.buildscript.configurations.configureEach {
22
+ resolutionStrategy.force 'com.android.tools.build:gradle:8.10.1'
23
+ }
24
+ subproject.plugins.withId('com.android.library') {
25
+ subproject.android.ndkVersion = rootProject.ext.ndkVersion
26
+ subproject.android.buildFeatures.buildConfig = true
27
+ // NDK 27 needs this flag when compiling native libraries for 16 KB devices.
28
+ subproject.android.defaultConfig.externalNativeBuild.cmake.arguments.add('-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON')
29
+ // AGP 8 requires a namespace; legacy modules still put it in the manifest.
30
+ if (subproject.android.namespace == null) {
31
+ def manifest = subproject.file('src/main/AndroidManifest.xml')
32
+ if (manifest.exists()) {
33
+ def packageName = (manifest.text =~ /package\s*=\s*["']([^"']+)["']/)
34
+ if (packageName.find()) {
35
+ subproject.android.namespace = packageName.group(1)
36
+ }
37
+ }
38
+ }
39
+ }
17
40
  afterEvaluate{
18
41
  if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
19
42
  android {
20
43
  compileSdkVersion rootProject.ext.compileSdkVersion
21
44
  buildToolsVersion rootProject.ext.buildToolsVersion
45
+ ndkVersion rootProject.ext.ndkVersion
46
+ externalNativeBuild.cmake.version = '3.22.1'
22
47
  }
23
48
  }
24
49
  }
@@ -28,9 +53,19 @@ buildscript {
28
53
  mavenCentral()
29
54
  }
30
55
  dependencies {
31
- classpath("com.android.tools.build:gradle")
56
+ classpath("com.android.tools.build:gradle:8.10.1")
32
57
  classpath("com.facebook.react:react-native-gradle-plugin")
58
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
33
59
  }
34
60
  }
35
61
 
62
+ apply plugin: "com.facebook.react.rootproject"
36
63
 
64
+ allprojects {
65
+ repositories {
66
+ maven {
67
+ url 'https://download.agora.io/maven/'
68
+ content { includeGroupByRegex 'io\\.agora\\.rtc.*' }
69
+ }
70
+ }
71
+ }
@@ -1,6 +1,6 @@
1
1
  distributionBase=GRADLE_USER_HOME
2
2
  distributionPath=wrapper/dists
3
- distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip
4
- networkTimeout=10000
3
+ distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
4
+ networkTimeout=60000
5
5
  zipStoreBase=GRADLE_USER_HOME
6
- zipStorePath=wrapper/dists
6
+ zipStorePath=wrapper/dists
@@ -24,9 +24,6 @@ android.useAndroidX=true
24
24
  # Automatically convert third-party libraries to use AndroidX
25
25
  android.enableJetifier=true
26
26
 
27
- # Version of flipper SDK to use with React Native
28
- FLIPPER_VERSION=0.182.0
29
-
30
27
  # Use this property to specify which architecture you want to build.
31
28
  # You can also override it from the CLI using
32
29
  # ./gradlew <task> -PreactNativeArchitectures=x86_64
@@ -1,4 +1,6 @@
1
+ pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
2
+ plugins { id("com.facebook.react.settings") }
3
+ extensions.configure(com.facebook.react.ReactSettingsExtension) { ex -> ex.autolinkLibrariesFromCommand() }
1
4
  rootProject.name = 'HelloWorld'
2
- apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
3
5
  include ':app'
4
- includeBuild('../node_modules/@react-native/gradle-plugin')
6
+ includeBuild('../node_modules/@react-native/gradle-plugin')
@@ -14,7 +14,7 @@ const { getCustomizationApiPath } = require('./customization.config');
14
14
 
15
15
  // This file is read only by react native for IOS & Android. Doesn't apply to electron, Web targets
16
16
  module.exports = {
17
- presets: ['module:metro-react-native-babel-preset'],
17
+ presets: ['module:@react-native/babel-preset'],
18
18
  plugins: [
19
19
  ['transform-define', configVars],
20
20
  [
@@ -77,8 +77,8 @@ const DefaultConfig = {
77
77
  CHAT_ORG_NAME: "",
78
78
  CHAT_APP_NAME: "",
79
79
  CHAT_URL: "",
80
- CLI_VERSION: "3.1.29",
81
- CORE_VERSION: "4.1.29",
80
+ CLI_VERSION: "3.1.30-beta.2",
81
+ CORE_VERSION: "4.1.30-beta.2",
82
82
  DISABLE_LANDSCAPE_MODE: false,
83
83
  STT_AUTO_START: false,
84
84
  CLOUD_RECORDING_AUTO_START: false,
@@ -942,7 +942,7 @@
942
942
  "$(inherited)",
943
943
  );
944
944
  INFOPLIST_FILE = HelloWorldTests/Info.plist;
945
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
945
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
946
946
  LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
947
947
  OTHER_LDFLAGS = (
948
948
  "-ObjC",
@@ -963,7 +963,7 @@
963
963
  BUNDLE_LOADER = "$(TEST_HOST)";
964
964
  COPY_PHASE_STRIP = NO;
965
965
  INFOPLIST_FILE = HelloWorldTests/Info.plist;
966
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
966
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
967
967
  LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
968
968
  OTHER_LDFLAGS = (
969
969
  "-ObjC",
@@ -989,7 +989,7 @@
989
989
  DEVELOPMENT_TEAM = "";
990
990
  ENABLE_BITCODE = NO;
991
991
  INFOPLIST_FILE = HelloWorld/Info.plist;
992
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
992
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
993
993
  LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
994
994
  OTHER_LDFLAGS = (
995
995
  "$(inherited)",
@@ -1003,6 +1003,7 @@
1003
1003
  SWIFT_OBJC_BRIDGING_HEADER = "HelloWorld-Bridging-Header.h";
1004
1004
  SWIFT_OPTIMIZATION_LEVEL = "-Onone";
1005
1005
  SWIFT_VERSION = 5.0;
1006
+ TARGETED_DEVICE_FAMILY = "1,2";
1006
1007
  VERSIONING_SYSTEM = "apple-generic";
1007
1008
  };
1008
1009
  name = Debug;
@@ -1019,7 +1020,7 @@
1019
1020
  CURRENT_PROJECT_VERSION = 1;
1020
1021
  DEVELOPMENT_TEAM = "";
1021
1022
  INFOPLIST_FILE = HelloWorld/Info.plist;
1022
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
1023
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
1023
1024
  LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1024
1025
  OTHER_LDFLAGS = (
1025
1026
  "$(inherited)",
@@ -1032,6 +1033,7 @@
1032
1033
  PROVISIONING_PROFILE_SPECIFIER = "";
1033
1034
  SWIFT_OBJC_BRIDGING_HEADER = "HelloWorld-Bridging-Header.h";
1034
1035
  SWIFT_VERSION = 5.0;
1036
+ TARGETED_DEVICE_FAMILY = "1,2";
1035
1037
  VERSIONING_SYSTEM = "apple-generic";
1036
1038
  };
1037
1039
  name = Release;
@@ -1256,7 +1258,7 @@
1256
1258
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1257
1259
  GCC_WARN_UNUSED_FUNCTION = YES;
1258
1260
  GCC_WARN_UNUSED_VARIABLE = YES;
1259
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
1261
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
1260
1262
  LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
1261
1263
  LIBRARY_SEARCH_PATHS = (
1262
1264
  "$(SDKROOT)/usr/lib/swift",
@@ -1313,7 +1315,7 @@
1313
1315
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1314
1316
  GCC_WARN_UNUSED_FUNCTION = YES;
1315
1317
  GCC_WARN_UNUSED_VARIABLE = YES;
1316
- IPHONEOS_DEPLOYMENT_TARGET = 10.0;
1318
+ IPHONEOS_DEPLOYMENT_TARGET = 15.1;
1317
1319
  LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)";
1318
1320
  LIBRARY_SEARCH_PATHS = (
1319
1321
  "$(SDKROOT)/usr/lib/swift",
@@ -12,42 +12,12 @@ class Pod::Installer::Xcode::TargetValidator
12
12
  end
13
13
  end
14
14
 
15
+ # Keep the legacy architecture used by the app and its Android configuration.
16
+ ENV['RCT_NEW_ARCH_ENABLED'] ||= '0'
17
+
15
18
  platform :ios, min_ios_version_supported
16
19
  prepare_react_native_project!
17
20
 
18
- # ======================================
19
- # BOOST PODSPEC CHECKSUM FIX
20
- # This ensures all developers use the patched Boost source URL:
21
- # https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2
22
- # ======================================
23
- require 'fileutils'
24
-
25
- boost_src = File.join(__dir__, 'podspec-patches', 'boost.podspec')
26
- boost_dst = File.join(__dir__, '..', 'node_modules', 'react-native',
27
- 'third-party-podspecs', 'boost.podspec')
28
-
29
- if File.exist?(boost_src)
30
- puts "➡️ Applying patched Boost podspec (checksum fix)"
31
- FileUtils.cp(boost_src, boost_dst)
32
- else
33
- puts "⚠️ No patched Boost podspec found at #{boost_src}"
34
- end
35
- # ======================================
36
- # BOOST PODSPEC CHECKSUM FIX
37
- # ======================================
38
-
39
-
40
- # If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
41
- # because `react-native-flipper` depends on (FlipperKit,...) that will be excluded
42
- #
43
- # To fix this you can also exclude `react-native-flipper` using a `react-native.config.js`
44
- # ```js
45
- # module.exports = {
46
- # dependencies: {
47
- # ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
48
- # ```
49
- flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled
50
-
51
21
  linkage = ENV['USE_FRAMEWORKS']
52
22
  if linkage != nil
53
23
  Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
@@ -58,19 +28,8 @@ target 'HelloWorld' do
58
28
  config = use_native_modules!
59
29
  pod 'TrustKit'
60
30
 
61
- # Flags change depending on the env values.
62
- flags = get_default_flags()
63
-
64
31
  use_react_native!(
65
32
  :path => config[:reactNativePath],
66
- # Hermes is now enabled by default. Disable by setting this flag to false.
67
- :hermes_enabled => flags[:hermes_enabled],
68
- :fabric_enabled => flags[:fabric_enabled],
69
- # Enables Flipper.
70
- #
71
- # Note that if you have use_frameworks! enabled, Flipper will not work and
72
- # you should disable the next line.
73
- :flipper_configuration => flipper_config,
74
33
  # An absolute path to your application root.
75
34
  :app_path => "#{Pod::Config.instance.installation_root}/.."
76
35
  )
@@ -87,7 +46,6 @@ target 'HelloWorld' do
87
46
  config[:reactNativePath],
88
47
  :mac_catalyst_enabled => false
89
48
  )
90
- __apply_Xcode_12_5_M1_post_install_workaround(installer)
91
49
 
92
50
  # === BEGIN: Bitcode Stripping ===
93
51
  bitcode_strip_path = `xcrun --find bitcode_strip`.chomp