-
Notifications
You must be signed in to change notification settings - Fork 31
Expand file tree
/
Copy pathPodfile
More file actions
75 lines (64 loc) · 2.07 KB
/
Podfile
File metadata and controls
75 lines (64 loc) · 2.07 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
# Enable new architecture (required for this package)
ENV['RCT_NEW_ARCH_ENABLED'] = '1'
def node_require(script)
# Resolve script with node to allow for hoisting
require Pod::Executable.execute_command('node', ['-p',
"require.resolve(
'#{script}',
{paths: [process.argv[1]]},
)", __dir__]).strip
end
node_require('react-native/scripts/react_native_pods.rb')
node_require('react-native-permissions/scripts/setup.rb')
platform :ios, '16'
prepare_react_native_project!
setup_permissions([
'LocationAccuracy',
'LocationAlways',
'LocationWhenInUse',
'Notifications',
])
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
config = use_native_modules!
target 'SampleApp' do
use_react_native!(
:path => config[:reactNativePath],
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
end
target 'SampleAppCarPlay' do
use_react_native!(
:path => config[:reactNativePath],
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
end
target 'SampleAppTests' do
inherit! :complete
# Pods for testing, shared between both SampleApp and SampleAppCarPlay
end
post_install do |installer|
react_native_post_install(
installer,
config[:reactNativePath],
:mac_catalyst_enabled => false,
# :ccache_enabled => true
)
# Fix fmt compilation issue with Xcode 26.4+ (stricter consteval enforcement)
# fmt/base.h unconditionally redefines FMT_USE_CONSTEVAL based on __cplusplus,
# so preprocessor defines are overwritten. Compiling fmt in C++17 mode ensures
# FMT_CPLUSPLUS (201703L) < 201709L → FMT_USE_CONSTEVAL = 0.
# Fixed in React Native 0.85+, can be removed after upgrading.
installer.pods_project.targets.each do |target|
if target.name == 'fmt'
target.build_configurations.each do |config|
config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++17'
end
end
end
end