forked from Usercentrics/react-native-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreact-native-usercentrics.podspec
More file actions
78 lines (65 loc) · 2.87 KB
/
react-native-usercentrics.podspec
File metadata and controls
78 lines (65 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
require 'json'
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
Pod::Spec.new do |s|
s.name = package['iosPackageName']
s.version = package['version']
s.summary = package['description']
s.license = package['license']
s.authors = package['author']
s.homepage = package['homepage']
s.platform = :ios, "11.0"
# Use apenas o path local para desenvolvimento
s.source = { :path => '.' }
s.source_files = 'ios/**/*.{h,m,mm,swift}'
s.dependency 'React-Core'
s.dependency 'React-NativeModulesApple'
s.dependency 'UsercentricsUI', "#{package['iosPackageVersion']}"
# Base C++ configuration
# Note: RCT_NEW_ARCH_ENABLED is inherited from parent project build settings
# This ensures compatibility with Expo's prebuild process
base_cpp_flags = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++20',
'CLANG_CXX_LIBRARY' => 'libc++',
'OTHER_CPLUSPLUSFLAGS' => '-std=c++20 -stdlib=libc++ $(inherited)',
'CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER' => 'NO',
'CLANG_WARN_DOCUMENTATION_COMMENTS' => 'NO',
'GCC_WARN_INHIBIT_ALL_WARNINGS' => 'YES',
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
'DEFINES_MODULE' => 'YES',
# Ensure C++ standard library headers are accessible
'USE_HEADERMAP' => 'YES',
'ALWAYS_SEARCH_USER_PATHS' => 'NO'
}
# Header search paths - include React Native and C++ standard library paths
header_search_paths = [
'$(PODS_ROOT)/React-Core',
'$(PODS_ROOT)/React-NativeModulesApple',
'$(PODS_ROOT)/ReactCommon',
'$(PODS_CONFIGURATION_BUILD_DIR)/ReactCommon',
'$(PODS_TARGET_SRCROOT)',
'$(PODS_ROOT)/Headers/Public',
'$(PODS_ROOT)/Headers/Public/React-Core',
'$(PODS_ROOT)/Headers/Public/ReactCommon'
]
# Add new architecture paths if available (will be resolved at build time)
header_search_paths += [
'$(PODS_ROOT)/Headers/Public/React-Fabric',
'$(PODS_ROOT)/Headers/Public/React-Codegen',
'$(PODS_CONFIGURATION_BUILD_DIR)/React-Codegen/React_Codegen.framework/Headers',
'$(PODS_CONFIGURATION_BUILD_DIR)/React-Fabric/React_Fabric.framework/Headers'
]
base_cpp_flags['HEADER_SEARCH_PATHS'] = header_search_paths.map { |path| "\"#{path}\"" }.join(' ')
# Preprocessor definitions - inherit RCT_NEW_ARCH_ENABLED from parent project
# This allows Expo/React Native to control the new architecture flag
base_cpp_flags['GCC_PREPROCESSOR_DEFINITIONS'] = '$(inherited)'
s.pod_target_xcconfig = base_cpp_flags
s.user_target_xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++20',
'CLANG_CXX_LIBRARY' => 'libc++',
'OTHER_CPLUSPLUSFLAGS' => '-std=c++20 -stdlib=libc++ $(inherited)',
'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited)',
'CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER' => 'NO',
'CLANG_WARN_DOCUMENTATION_COMMENTS' => 'NO',
'GCC_WARN_INHIBIT_ALL_WARNINGS' => 'YES'
}
end