I’ve achieved RN improve from 0.76.9 to 0.77x. In Android, it is working high-quality. however getting this error on ios whereas working the app.
I’ve added to traces in AppDelegate.mm
#import <ReactAppDependencyProvider/RCTAppDependencyProvider.h>
self.dependencyProvider = [RCTAppDependencyProvider new];
as a result of as per docs I haven’t got emigrate to Swift: the Goal-C++ variant however I received error
‘React/JSCExecutorFactory.h’ file not discovered. I’ve tried a number of attainable resolution nevertheless it’s not resolved but.
# require_relative '../node_modules/react-native/scripts/react_native_pods'
# require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
require_relative '../node_modules/react-native-permissions/scripts/setup'
#Google Maps SDK for iOS requires iOS 13, so ensure that your deployment goal is >= 13.4 in your iOS venture settings.
#platform :ios, min_ios_version_supported #'13.4'
require Pod::Executable.execute_command('node', ['-p',
'require.resolve(
"react-native/scripts/react_native_pods.rb",
{paths: [process.argv[1]]},
)', __dir__]).strip
platform :ios,'15.6'
prepare_react_native_project!
setup_permissions([
'AppTrackingTransparency',
'LocationAccuracy',
'LocationAlways',
'LocationWhenInUse',
'Bluetooth',
'Camera'
])
def node_require(script)
# Resolve script with node to permit for hoisting
require Pod::Executable.execute_command('node', ['-p',
"require.resolve(
'#{script}',
{paths: [process.argv[1]]},
)", __dir__]).strip
finish
# Use it to require each react-native's and this bundle's scripts:
node_require('react-native/scripts/react_native_pods.rb')
node_require('react-native-permissions/scripts/setup.rb')
# In case you are utilizing a `react-native-flipper` your iOS construct will fail when `NO_FLIPPER=1` is ready.
# as a result of `react-native-flipper` is dependent upon (FlipperKit,...) that can be excluded
#
# To repair this you may as well exclude `react-native-flipper` utilizing a `react-native.config.js`
# ```js
# module.exports = {
# dependencies: {
# ...(course of.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
# ```
# Modified this line with beneath line: flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled
#flipper_config = FlipperConfiguration.disabled
linkage = ENV['USE_FRAMEWORKS']
if linkage != nil
Pod::UI.places "Configuring Pod with #{linkage}ally linked Frameworks".inexperienced
use_frameworks! :linkage => linkage.to_sym
finish
flags = get_default_flags()
#
goal 'CustomerFacingApp' do
#goal 'CustomerFacingAppDevelopment' do
#use_frameworks!
use_frameworks! :linkage => :static
$RNFirebaseAsStaticFramework = true
$RNFirebaseAnalyticsWithoutAdIdSupport = true
#use_modular_headers!
config = use_native_modules!
#$RNFirebaseAsStaticFramework = true
# Add the traces specifying :modular_headers => true for Firebase pods
pod 'GoogleUtilities', :modular_headers => true
pod 'FirebaseCore', :modular_headers => true
pod 'FirebaseInstallations', :modular_headers => true
pod 'GoogleDataTransport', :modular_headers => true
pod 'nanopb', :modular_headers => true
pod 'FirebaseCoreInternal', :modular_headers => true
pod 'FirebaseCrashlytics', :modular_headers => true
pod 'FirebaseRemoteConfig', :modular_headers => true
pod 'FirebaseSessions', :modular_headers => true
pod 'FirebaseABTesting', :modular_headers => true
pod 'FirebaseCoreExtension', :modular_headers => true
pod 'FirebaseFirestoreInternal', :modular_headers => true
pod 'react-native-version-check', :path => '../node_modules/react-native-version-check'
pod 'RNScratch', :path => '../node_modules/react-native-scratch'
pod 'HyperCardScan', '2.2.3'
# React Native Maps dependencies
rn_maps_path="../node_modules/react-native-maps"
pod 'react-native-google-maps', :path => rn_maps_path
# Flags change relying on the env values.
use_react_native!(
:hermes_enabled => flags[:hermes_enabled],
:app_path => "#{Pod::Config.occasion.installation_root}/.."
)
goal 'CustomerFacingAppTests' do
inherit! :full
# Pods for testing
finish
goal 'CustomerFacingAppDevelopment' do
inherit! :full
finish
goal 'CustomerFacingAppStaging' do
inherit! :full
finish
goal 'CustomerFacingAppQa' do
inherit! :full
finish
goal 'CustomerFacingAppPreprod' do
inherit! :full
finish
goal 'CustomerFacingAppUat' do
inherit! :full
finish
goal 'CustomerFacingAppDevTemp' do
inherit! :full
finish
pre_install do |installer|
installer.pod_targets.every do |pod|
if pod.identify.eql?('callstack-repack')
def pod.build_type
Pod::BuildType.static_library
finish
finish
finish
finish
post_install do |installer|
react_native_post_install(
installer,
# Set `mac_catalyst_enabled` to `true` with a view to apply patches
# obligatory for Mac Catalyst builds
:mac_catalyst_enabled => false
)
places "Put up-install Patch is working..."
# Run your patching script and log its output
outcome = `sh ./CustomerFacingApp/patch_grpc_core.sh`
# Print the output of the script
places "Output from patch_grpc_core.sh:"
places outcome
# Optionally, verify for errors
if $?.exitstatus != 0
places "Error: The patching script failed with exit code #{$?.exitstatus}"
else
places "Patch Script executed efficiently."
finish
bitcode_strip_path = `xcrun --find bitcode_strip`.chop!
def strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
framework_path = File.be a part of(Dir.pwd, framework_relative_path)
command = "#{bitcode_strip_path} #{framework_path} -r -o #{framework_path}"
places "Stripping bitcode: #{command}"
system(command)
system("chmod -R u+w Pods/RCT-Folly")
Dir.glob("Pods/RCT-Folly/folly/Portability.h").every do |file|
textual content = File.learn(file)
new_contents = textual content.gsub('#outline FOLLY_HAS_COROUTINES 1', '#outline FOLLY_HAS_COROUTINES 0')
File.open(file, "w") file.places new_contents
finish
finish
framework_paths = [
"Pods/LogRocket/LogRocket.xcframework/ios-arm64/LogRocket.framework/LogRocket",
"Pods/hermes-engine/destroot/Library/Frameworks/macosx/hermes.framework/hermes",
"Pods/hermes-engine/destroot/Library/Frameworks/macosx/hermes.framework/Versions/Current/hermes",
"Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework/ios-arm64/hermes.framework/hermes",
"Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework/ios-arm64_x86_64-maccatalyst/hermes.framework/hermes"
]
framework_paths.every do |framework_relative_path|
strip_bitcode_from_framework(bitcode_strip_path, framework_relative_path)
finish
installer.pods_project.targets.every do |goal|
goal.build_configurations.every do |config|
config.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
finish
if goal.identify == 'BoringSSL-GRPC'
goal.source_build_phase.recordsdata.every do |file|
if file.settings && file.settings['COMPILER_FLAGS']
flags = file.settings['COMPILER_FLAGS'].break up
flags.reject! flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS'
file.settings['COMPILER_FLAGS'] = flags.be a part of(' ')
finish
finish
finish
finish
# __apply_Xcode_12_5_M1_post_install_workaround(installer)
fuse_path = "./Pods/HyperSDK/Fuse.rb"
clean_assets = false # Cross true to re-download all of the property
if File.exist?(fuse_path)
if system("ruby", fuse_path.to_s, clean_assets.to_s)
finish
finish
installer.pods_project.targets.every do |t|
if t.identify.start_with?("AEP")
t.build_configurations.every do |bc|
bc.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -no-verify-emitted-module-interface'
finish
finish
t.build_configurations.every do |bc|
bc.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION']
finish
finish
finish
# pod 'FirebaseCore'
# pod 'FirebaseCoreInternal'
finish
- I’ve up to date the podfile with allow Hermes and new Arch.
- Tried to direct import RCTAppDependencyProvider in podfile.
- Improve the "@react-native-community/cli-platform-ios
- I’ve tried this steps a number of instances
cd ios
rm -rf Pods
rm Podfile.lock
rm -rf ~/Library/Developer/Xcode/DerivedData/*
pod cache clear –all
pod set up –repo-update - tried to replace use_frameworks! :linkage => :static in podfile