@@ -21,22 +21,56 @@ Pod::Spec.new do |s|
2121 s . dependency 'React-NativeModulesApple'
2222 s . dependency 'UsercentricsUI' , "#{ package [ 'iosPackageVersion' ] } "
2323
24- s . pod_target_xcconfig = {
24+ # Base C++ configuration
25+ # Note: RCT_NEW_ARCH_ENABLED is inherited from parent project build settings
26+ # This ensures compatibility with Expo's prebuild process
27+ base_cpp_flags = {
2528 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++20' ,
2629 'CLANG_CXX_LIBRARY' => 'libc++' ,
27- 'OTHER_CPLUSPLUSFLAGS' => '-std=c++20 -stdlib=libc++' ,
28- 'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/React-Core" "$(PODS_ROOT)/React-NativeModulesApple" "$(PODS_ROOT)/ReactCommon" "$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon"' ,
29- 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) RCT_NEW_ARCH_ENABLED=0' ,
30+ 'OTHER_CPLUSPLUSFLAGS' => '-std=c++20 -stdlib=libc++ $(inherited)' ,
3031 'CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER' => 'NO' ,
3132 'CLANG_WARN_DOCUMENTATION_COMMENTS' => 'NO' ,
32- 'GCC_WARN_INHIBIT_ALL_WARNINGS' => 'YES'
33+ 'GCC_WARN_INHIBIT_ALL_WARNINGS' => 'YES' ,
34+ 'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES' ,
35+ 'DEFINES_MODULE' => 'YES' ,
36+ # Ensure C++ standard library headers are accessible
37+ 'USE_HEADERMAP' => 'YES' ,
38+ 'ALWAYS_SEARCH_USER_PATHS' => 'NO'
3339 }
3440
41+ # Header search paths - include React Native and C++ standard library paths
42+ header_search_paths = [
43+ '$(PODS_ROOT)/React-Core' ,
44+ '$(PODS_ROOT)/React-NativeModulesApple' ,
45+ '$(PODS_ROOT)/ReactCommon' ,
46+ '$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon' ,
47+ '$(PODS_TARGET_SRCROOT)' ,
48+ '$(PODS_ROOT)/Headers/Public' ,
49+ '$(PODS_ROOT)/Headers/Public/React-Core' ,
50+ '$(PODS_ROOT)/Headers/Public/ReactCommon'
51+ ]
52+
53+ # Add new architecture paths if available (will be resolved at build time)
54+ header_search_paths += [
55+ '$(PODS_ROOT)/Headers/Public/React-Fabric' ,
56+ '$(PODS_ROOT)/Headers/Public/React-Codegen' ,
57+ '$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers' ,
58+ '$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers'
59+ ]
60+
61+ base_cpp_flags [ 'HEADER_SEARCH_PATHS' ] = header_search_paths . map { |path | "\" #{ path } \" " } . join ( ' ' )
62+
63+ # Preprocessor definitions - inherit RCT_NEW_ARCH_ENABLED from parent project
64+ # This allows Expo/React Native to control the new architecture flag
65+ base_cpp_flags [ 'GCC_PREPROCESSOR_DEFINITIONS' ] = '$(inherited)'
66+
67+ s . pod_target_xcconfig = base_cpp_flags
68+
3569 s . user_target_xcconfig = {
3670 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++20' ,
3771 'CLANG_CXX_LIBRARY' => 'libc++' ,
38- 'OTHER_CPLUSPLUSFLAGS' => '-std=c++20 -stdlib=libc++' ,
39- 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) RCT_NEW_ARCH_ENABLED=0 ' ,
72+ 'OTHER_CPLUSPLUSFLAGS' => '-std=c++20 -stdlib=libc++ $(inherited) ' ,
73+ 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited)' ,
4074 'CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER' => 'NO' ,
4175 'CLANG_WARN_DOCUMENTATION_COMMENTS' => 'NO' ,
4276 'GCC_WARN_INHIBIT_ALL_WARNINGS' => 'YES'
0 commit comments