-
Notifications
You must be signed in to change notification settings - Fork 4
/
Podfile
161 lines (136 loc) · 5.94 KB
/
Podfile
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
require File.join(File.dirname(`node --print "require.resolve('expo/package.json')"`), "scripts/autolinking")
require File.join(File.dirname(`node --print "require.resolve('react-native/package.json')"`), "scripts/react_native_pods")
require 'json'
podfile_properties = JSON.parse(File.read(File.join(__dir__, 'Podfile.properties.json'))) rescue {}
ENV['RCT_NEW_ARCH_ENABLED'] = podfile_properties['newArchEnabled'] == 'true' ? '1' : '0'
ENV['EX_DEV_CLIENT_NETWORK_INSPECTOR'] = podfile_properties['EX_DEV_CLIENT_NETWORK_INSPECTOR']
platform :ios, '14.0'
install! 'cocoapods',
:deterministic_uuids => false
prepare_react_native_project!
# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
# because `react-native-flipper` depends on (FlipperKit,...), which will be excluded. To fix this,
# you can also exclude `react-native-flipper` in `react-native.config.js`
#
# ```js
# module.exports = {
# dependencies: {
# ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
# }
# }
# ```
flipper_config = FlipperConfiguration.disabled
if ENV['NO_FLIPPER'] == '1' then
# Explicitly disabled through environment variables
flipper_config = FlipperConfiguration.disabled
elsif podfile_properties.key?('ios.flipper') then
# Configure Flipper in Podfile.properties.json
if podfile_properties['ios.flipper'] == 'true' then
flipper_config = FlipperConfiguration.enabled(["Debug", "Release"])
elsif podfile_properties['ios.flipper'] != 'false' then
flipper_config = FlipperConfiguration.enabled(["Debug", "Release"], { 'Flipper' => podfile_properties['ios.flipper'] })
end
end
target 'myapp' do
use_expo_modules!
config = use_native_modules!
use_frameworks! :linkage => :static
# use_frameworks! :linkage => podfile_properties['ios.useFrameworks'].to_sym if podfile_properties['ios.useFrameworks']
# use_frameworks! :linkage => ENV['USE_FRAMEWORKS'].to_sym if ENV['USE_FRAMEWORKS']
# Flags change depending on the env values.
flags = get_default_flags()
pod "Thresh", '1.4.2'
pod "ParticleMPCCore", '1.4.2'
pod "ParticleAuthCore", '1.4.2'
pod "AuthCoreAdapter", '1.4.2'
pod 'ParticleWalletGUI', '1.4.2'
pod 'ParticleWalletAPI', '1.4.2'
pod 'ParticleNetworkBase', '1.4.2'
pod 'ParticleAuthService', '1.4.2'
pod 'ParticleWalletConnect', '1.4.2'
pod 'ParticleConnect', '0.2.20'
pod 'ConnectWalletConnectAdapter', '0.2.20'
pod 'ConnectEVMAdapter', '0.2.20'
pod 'ConnectSolanaAdapter', '0.2.20'
pod 'ConnectPhantomAdapter', '0.2.20'
pod 'ConnectCommon', '0.2.20'
pod 'ParticleAuthAdapter', '0.2.20'
pod 'SkeletonView', :git => 'https://github.com/SunZhiC/SkeletonView.git', :branch => 'main'
pod 'SwiftyUserDefaults', :git => 'https://github.com/SunZhiC/SwiftyUserDefaults.git', :branch => 'master'
pod 'WalletConnectSwiftV2', :git => 'https://github.com/SunZhiC/WalletConnectSwiftV2.git', :branch => 'particle'
use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => podfile_properties['expo.jsEngine'] == nil || podfile_properties['expo.jsEngine'] == 'hermes',
:fabric_enabled => flags[:fabric_enabled],
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/..",
# Note that if you have use_frameworks! enabled, Flipper will not work if enabled
:flipper_configuration => flipper_config
)
post_install do |installer|
react_native_post_install(
installer,
config[:reactNativePath],
:mac_catalyst_enabled => false
)
__apply_Xcode_12_5_M1_post_install_workaround(installer)
installer.pods_project.targets.each do |target|
if target.name == 'ParticleNetworkBase' or
target.name == 'ParticleAuthService' or
target.name == 'ParticleWalletAPI' or
target.name == 'ParticleWalletGUI' or
target.name == 'ParticleWalletConnect' or
target.name == 'ParticleConnect' or
target.name == 'ConnectWalletConnectAdapter' or
target.name == 'ConnectSolanaAdapter' or
target.name == 'ConnectEVMAdapter' or
target.name == 'ConnectPhantomAdapter' or
target.name == 'ConnectCommon' or
target.name == 'ParticleAuthAdapter' or
target.name == 'WalletConnectSwiftV2' or
target.name == 'CryptoSwift' or
target.name == 'SwiftyUserDefaults' or
target.name == 'RxSwift' or
target.name == 'RxCocoa' or
target.name == 'RxRelay' or
target.name == 'SwiftyJSON' or
target.name == 'Base58.swift' or
target.name == 'JXPagingView' or
target.name == 'JXSegmentedView' or
target.name == 'Starscream' or
target.name == 'SwiftMessages' or
target.name == 'SkeletonView' or
target.name == 'GRDB.swift' or
target.name == 'SnapKit' or
target.name == 'BigInt' or
target.name == 'Alamofire' or
target.name == 'RxAlamofire' or
target.name == 'Then' or
target.name == 'Thresh' or
target.name == 'ParticleMPCCore' or
target.name == 'ParticleAuthCore' or
target.name == 'AuthCoreAdapter'
target.build_configurations.each do |config|
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
# This is necessary for Xcode 14, because it signs resource bundles by default
# when building for devices.
installer.target_installation_results.pod_target_installation_results
.each do |pod_name, target_installation_result|
target_installation_result.resource_bundle_targets.each do |resource_bundle_target|
resource_bundle_target.build_configurations.each do |config|
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
end
end
end
end
post_integrate do |installer|
begin
expo_patch_react_imports!(installer)
rescue => e
Pod::UI.warn e
end
end
end