Skip to content

Commit 10bfe83

Browse files
committed
Fix iOS simulator builds for XCode 26
1 parent 7c3f338 commit 10bfe83

File tree

5 files changed

+294
-25
lines changed

5 files changed

+294
-25
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- added: `chooseCaip19Asset` EdgeProvider API for precise wallet selection using CAIP-19 identifiers
66
- added: Pass OS and app version details to core context for v2/coreRollup endpoint
77
- changed: Append chain names to token codes in RampCreateScene
8+
- fixed: iOS simulator builds for XCode 26
89

910
## 4.42.0 (staging)
1011

ios/Podfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,14 @@ target 'edge' do
6060
installer.pods_project.targets.each do |target|
6161
target.build_configurations.each do |config|
6262
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = ios_platform_version
63+
64+
# Xcode 17+ / iOS 26 SDK workaround: Re-enable std::allocator<const T>
65+
# which was removed for stricter C++ standard compliance.
66+
# See: https://github.com/getsentry/sentry-cocoa/issues/5172
67+
existing_defs = config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] || ['$(inherited)']
68+
unless existing_defs.include?('_LIBCPP_ENABLE_REMOVED_ALLOCATOR_CONST=1')
69+
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = existing_defs + ['_LIBCPP_ENABLE_REMOVED_ALLOCATOR_CONST=1']
70+
end
6371
end
6472
end
6573

ios/Podfile.lock

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ PODS:
9898
- FirebaseCoreInternal (~> 10.0)
9999
- GoogleUtilities/Environment (~> 7.12)
100100
- GoogleUtilities/Logger (~> 7.12)
101-
- FirebaseCoreExtension (10.27.0):
101+
- FirebaseCoreExtension (10.29.0):
102102
- FirebaseCore (~> 10.0)
103103
- FirebaseCoreInternal (10.29.0):
104104
- "GoogleUtilities/NSData+zlib (~> 7.8)"
@@ -161,17 +161,17 @@ PODS:
161161
- hermes-engine/Pre-built (0.79.2)
162162
- ImageColors (2.4.0):
163163
- ExpoModulesCore
164-
- libwebp (1.3.2):
165-
- libwebp/demux (= 1.3.2)
166-
- libwebp/mux (= 1.3.2)
167-
- libwebp/sharpyuv (= 1.3.2)
168-
- libwebp/webp (= 1.3.2)
169-
- libwebp/demux (1.3.2):
164+
- libwebp (1.5.0):
165+
- libwebp/demux (= 1.5.0)
166+
- libwebp/mux (= 1.5.0)
167+
- libwebp/sharpyuv (= 1.5.0)
168+
- libwebp/webp (= 1.5.0)
169+
- libwebp/demux (1.5.0):
170170
- libwebp/webp
171-
- libwebp/mux (1.3.2):
171+
- libwebp/mux (1.5.0):
172172
- libwebp/demux
173-
- libwebp/sharpyuv (1.3.2)
174-
- libwebp/webp (1.3.2):
173+
- libwebp/sharpyuv (1.5.0)
174+
- libwebp/webp (1.5.0):
175175
- libwebp/sharpyuv
176176
- Logging (1.4.0)
177177
- MnemonicSwift (2.2.4)
@@ -180,7 +180,7 @@ PODS:
180180
- nanopb/encode (= 2.30910.0)
181181
- nanopb/decode (2.30910.0)
182182
- nanopb/encode (2.30910.0)
183-
- OpenSSL-Universal (3.3.3000)
183+
- OpenSSL-Universal (3.3.3001)
184184
- PromisesObjC (2.4.0)
185185
- RCT-Folly (2024.11.18.00):
186186
- boost
@@ -2726,11 +2726,11 @@ PODS:
27262726
- SDWebImage/Core (~> 5.10)
27272727
- Sentry/HybridSDK (8.56.2)
27282728
- SocketRocket (0.7.1)
2729-
- SQLite.swift/standalone (0.15.3):
2729+
- SQLite.swift/standalone (0.15.4):
27302730
- sqlite3
2731-
- "sqlite3 (3.46.0+1)":
2732-
- "sqlite3/common (= 3.46.0+1)"
2733-
- "sqlite3/common (3.46.0+1)"
2731+
- sqlite3 (3.51.1):
2732+
- sqlite3/common (= 3.51.1)
2733+
- sqlite3/common (3.51.1)
27342734
- SwiftNIO (2.40.0):
27352735
- _NIODataStructures (= 2.40.0)
27362736
- CNIOAtomics (= 2.40.0)
@@ -2861,15 +2861,15 @@ PODS:
28612861
- SwiftNIOFoundationCompat (< 3, >= 2.32.0)
28622862
- SwiftNIOPosix (< 3, >= 2.32.0)
28632863
- SwiftNIOTLS (< 3, >= 2.32.0)
2864-
- SwiftProtobuf (1.26.0)
2864+
- SwiftProtobuf (1.33.3)
28652865
- VisionCamera (4.7.2):
28662866
- VisionCamera/Core (= 4.7.2)
28672867
- VisionCamera/React (= 4.7.2)
28682868
- VisionCamera/Core (4.7.2)
28692869
- VisionCamera/React (4.7.2):
28702870
- React-Core
28712871
- Yoga (0.0.0)
2872-
- ZIPFoundation (0.9.11)
2872+
- ZIPFoundation (0.9.20)
28732873
- ZXingObjC (3.6.9):
28742874
- ZXingObjC/All (= 3.6.9)
28752875
- ZXingObjC/All (3.6.9)
@@ -3354,7 +3354,7 @@ SPEC CHECKSUMS:
33543354
FBLazyVector: 84b955f7b4da8b895faf5946f73748267347c975
33553355
Firebase: cec914dab6fd7b1bd8ab56ea07ce4e03dd251c2d
33563356
FirebaseCore: 30e9c1cbe3d38f5f5e75f48bfcea87d7c358ec16
3357-
FirebaseCoreExtension: 4ec89dd0c6de93d6becde32122d68b7c35f6bf5d
3357+
FirebaseCoreExtension: 705ca5b14bf71d2564a0ddc677df1fc86ffa600f
33583358
FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934
33593359
FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd
33603360
FirebaseMessaging: 7b5d8033e183ab59eb5b852a53201559e976d366
@@ -3365,11 +3365,11 @@ SPEC CHECKSUMS:
33653365
gRPC-Swift: 74adcaaa62ac5e0a018938840328cb1fdfb09e7b
33663366
hermes-engine: 314be5250afa5692b57b4dd1705959e1973a8ebe
33673367
ImageColors: 869f48b27ca2afb347fd0bada3257a5f698ee55e
3368-
libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009
3368+
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
33693369
Logging: beeb016c9c80cf77042d62e83495816847ef108b
33703370
MnemonicSwift: 40ba76b951b75b32e2719df989b4d6da5798fe26
33713371
nanopb: 438bc412db1928dac798aa6fd75726007be04262
3372-
OpenSSL-Universal: d776ce24dab24323e6995dfb17c64d598885d05c
3372+
OpenSSL-Universal: 6082b0bf950e5636fe0d78def171184e2b3899c2
33733373
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
33743374
RCT-Folly: e78785aa9ba2ed998ea4151e314036f6c49e6d82
33753375
RCTDeprecation: 83ffb90c23ee5cea353bd32008a7bca100908f8c
@@ -3483,8 +3483,8 @@ SPEC CHECKSUMS:
34833483
SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d
34843484
Sentry: b53951377b78e21a734f5dc8318e333dbfc682d7
34853485
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
3486-
SQLite.swift: 8d054987f02728cc912b0eb5a9659650573a65a2
3487-
sqlite3: 292c3e1bfe89f64e51ea7fc7dab9182a017c8630
3486+
SQLite.swift: a107c734115fea616a4ad31371d39f1637e8de56
3487+
sqlite3: 8d708bc63e9f4ce48f0ad9d6269e478c5ced1d9b
34883488
SwiftNIO: 829958aab300642625091f82fc2f49cb7cf4ef24
34893489
SwiftNIOConcurrencyHelpers: 697370136789b1074e4535eaae75cbd7f900370e
34903490
SwiftNIOCore: 473fdfe746534d7aa25766916459eeaf6f92ef49
@@ -3498,12 +3498,12 @@ SPEC CHECKSUMS:
34983498
SwiftNIOSSL: d153c5a6fc5b2301b0519b4c4d037a9414212da6
34993499
SwiftNIOTLS: 598af547490133e9aac52aed0c23c4a90c31dcfc
35003500
SwiftNIOTransportServices: 0b2b407819d82eb63af558c5396e33c945759503
3501-
SwiftProtobuf: 5e8349171e7c2f88f5b9e683cb3cb79d1dc780b3
3501+
SwiftProtobuf: e1b437c8e31a4c5577b643249a0bb62ed4f02153
35023502
VisionCamera: 30b358b807324c692064f78385e9a732ce1bebfe
35033503
Yoga: 50518ade05048235d91a78b803336dbb5b159d5d
3504-
ZIPFoundation: b1f0de4eed33e74a676f76e12559ab6b75990197
3504+
ZIPFoundation: dfd3d681c4053ff7e2f7350bc4e53b5dba3f5351
35053505
ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5
35063506

3507-
PODFILE CHECKSUM: 8c119d1d2fda8d2ceda1c186a5415d0c7473469a
3507+
PODFILE CHECKSUM: ffc45b7c82f76539837854e7add5bc6ad74ef0b6
35083508

35093509
COCOAPODS: 1.16.2
Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
diff --git a/node_modules/react-native-mymonero-core/android/src/main/cpp/jni.cpp b/node_modules/react-native-mymonero-core/android/src/main/cpp/jni.cpp
2+
index dc077d2..ff55588 100644
3+
--- a/node_modules/react-native-mymonero-core/android/src/main/cpp/jni.cpp
4+
+++ b/node_modules/react-native-mymonero-core/android/src/main/cpp/jni.cpp
5+
@@ -23,7 +23,7 @@ Java_app_edge_reactnative_mymonerocore_MyMoneroModule_callMyMoneroJNI(
6+
7+
// Re-package the arguments:
8+
jsize length = env->GetArrayLength(arguments);
9+
- std::vector<const std::string> strings;
10+
+ std::vector<std::string> strings;
11+
strings.reserve(length);
12+
for (jsize i = 0; i < length; ++i) {
13+
jstring string = (jstring)env->GetObjectArrayElement(arguments, i);
14+
diff --git a/node_modules/react-native-mymonero-core/android/src/main/cpp/mymonero-wrapper/mymonero-methods.cpp b/node_modules/react-native-mymonero-core/android/src/main/cpp/mymonero-wrapper/mymonero-methods.cpp
15+
index 7d2f4e0..1a09b06 100644
16+
--- a/node_modules/react-native-mymonero-core/android/src/main/cpp/mymonero-wrapper/mymonero-methods.cpp
17+
+++ b/node_modules/react-native-mymonero-core/android/src/main/cpp/mymonero-wrapper/mymonero-methods.cpp
18+
@@ -2,27 +2,27 @@
19+
#include "../mymonero-core-cpp/src/serial_bridge_index.hpp"
20+
#include "../mymonero-utils/packages/mymonero-monero-client/src/emscr_SendFunds_bridge.hpp"
21+
22+
-std::string addressAndKeysFromSeed(const std::vector<const std::string> &args) {
23+
+std::string addressAndKeysFromSeed(const std::vector<std::string> &args) {
24+
return serial_bridge::address_and_keys_from_seed(args[0], args[1]);
25+
}
26+
27+
-std::string compareMnemonics(const std::vector<const std::string> &args) {
28+
+std::string compareMnemonics(const std::vector<std::string> &args) {
29+
return serial_bridge::are_equal_mnemonics(args[0], args[1]) ? "t" : "";
30+
}
31+
32+
-std::string createAndSignTx(const std::vector<const std::string> &args) {
33+
+std::string createAndSignTx(const std::vector<std::string> &args) {
34+
return emscr_SendFunds_bridge::send_funds(args[0]);
35+
}
36+
37+
-std::string decodeAddress(const std::vector<const std::string> &args) {
38+
+std::string decodeAddress(const std::vector<std::string> &args) {
39+
return serial_bridge::decode_address(args[0], args[1]);
40+
}
41+
42+
-std::string estimateTxFee(const std::vector<const std::string> &args) {
43+
+std::string estimateTxFee(const std::vector<std::string> &args) {
44+
return serial_bridge::estimated_tx_network_fee(args[0], args[1], args[2]);
45+
}
46+
47+
-std::string generateKeyImage(const std::vector<const std::string> &args) {
48+
+std::string generateKeyImage(const std::vector<std::string> &args) {
49+
return serial_bridge::generate_key_image(
50+
args[0],
51+
args[1],
52+
@@ -32,23 +32,23 @@ std::string generateKeyImage(const std::vector<const std::string> &args) {
53+
);
54+
}
55+
56+
-std::string generatePaymentId(const std::vector<const std::string> &args) {
57+
+std::string generatePaymentId(const std::vector<std::string> &args) {
58+
return serial_bridge::new_payment_id();
59+
}
60+
61+
-std::string generateWallet(const std::vector<const std::string> &args) {
62+
+std::string generateWallet(const std::vector<std::string> &args) {
63+
return serial_bridge::newly_created_wallet(args[0], args[1]);
64+
}
65+
66+
-std::string isIntegratedAddress(const std::vector<const std::string> &args) {
67+
+std::string isIntegratedAddress(const std::vector<std::string> &args) {
68+
return serial_bridge::is_integrated_address(args[0], args[1]) ? "t" : "";
69+
}
70+
71+
-std::string isSubaddress(const std::vector<const std::string> &args) {
72+
+std::string isSubaddress(const std::vector<std::string> &args) {
73+
return serial_bridge::is_subaddress(args[0], args[1]) ? "t" : "";
74+
}
75+
76+
-std::string isValidKeys(const std::vector<const std::string> &args) {
77+
+std::string isValidKeys(const std::vector<std::string> &args) {
78+
return serial_bridge::validate_components_for_login(
79+
args[0],
80+
args[1],
81+
@@ -58,19 +58,19 @@ std::string isValidKeys(const std::vector<const std::string> &args) {
82+
);
83+
}
84+
85+
-std::string mnemonicFromSeed(const std::vector<const std::string> &args) {
86+
+std::string mnemonicFromSeed(const std::vector<std::string> &args) {
87+
return serial_bridge::mnemonic_from_seed(args[0], args[1]);
88+
}
89+
90+
-std::string newIntegratedAddress(const std::vector<const std::string> &args) {
91+
+std::string newIntegratedAddress(const std::vector<std::string> &args) {
92+
return serial_bridge::new_integrated_address(args[0], args[1], args[2]);
93+
}
94+
95+
-std::string prepareTx(const std::vector<const std::string> &args) {
96+
+std::string prepareTx(const std::vector<std::string> &args) {
97+
return emscr_SendFunds_bridge::prepare_send(args[0]);
98+
}
99+
100+
-std::string seedAndKeysFromMnemonic(const std::vector<const std::string> &args) {
101+
+std::string seedAndKeysFromMnemonic(const std::vector<std::string> &args) {
102+
return serial_bridge::seed_and_keys_from_mnemonic(args[0], args[1]);
103+
}
104+
105+
diff --git a/node_modules/react-native-mymonero-core/android/src/main/cpp/mymonero-wrapper/mymonero-methods.hpp b/node_modules/react-native-mymonero-core/android/src/main/cpp/mymonero-wrapper/mymonero-methods.hpp
106+
index bfedec1..c287d3b 100644
107+
--- a/node_modules/react-native-mymonero-core/android/src/main/cpp/mymonero-wrapper/mymonero-methods.hpp
108+
+++ b/node_modules/react-native-mymonero-core/android/src/main/cpp/mymonero-wrapper/mymonero-methods.hpp
109+
@@ -7,7 +7,7 @@
110+
struct MyMoneroMethod {
111+
const char *name;
112+
int argc;
113+
- std::string (*method)(const std::vector<const std::string> &args);
114+
+ std::string (*method)(const std::vector<std::string> &args);
115+
};
116+
extern const MyMoneroMethod myMoneroMethods[];
117+
extern const unsigned myMoneroMethodCount;
118+
diff --git a/node_modules/react-native-mymonero-core/ios/MyMoneroCore.mm b/node_modules/react-native-mymonero-core/ios/MyMoneroCore.mm
119+
index 2eba1a5..97c84e8 100644
120+
--- a/node_modules/react-native-mymonero-core/ios/MyMoneroCore.mm
121+
+++ b/node_modules/react-native-mymonero-core/ios/MyMoneroCore.mm
122+
@@ -18,7 +18,7 @@ RCT_REMAP_METHOD(
123+
124+
// Re-package the arguments:
125+
NSUInteger length = [arguments count];
126+
- std::vector<const std::string> strings;
127+
+ std::vector<std::string> strings;
128+
strings.reserve(length);
129+
for (NSUInteger i = 0; i < length; ++i) {
130+
NSString *string = [arguments objectAtIndex:i];
131+
diff --git a/node_modules/react-native-mymonero-core/src/mymonero-wrapper/mymonero-methods.cpp b/node_modules/react-native-mymonero-core/src/mymonero-wrapper/mymonero-methods.cpp
132+
index 7d2f4e0..1a09b06 100644
133+
--- a/node_modules/react-native-mymonero-core/src/mymonero-wrapper/mymonero-methods.cpp
134+
+++ b/node_modules/react-native-mymonero-core/src/mymonero-wrapper/mymonero-methods.cpp
135+
@@ -2,27 +2,27 @@
136+
#include "../mymonero-core-cpp/src/serial_bridge_index.hpp"
137+
#include "../mymonero-utils/packages/mymonero-monero-client/src/emscr_SendFunds_bridge.hpp"
138+
139+
-std::string addressAndKeysFromSeed(const std::vector<const std::string> &args) {
140+
+std::string addressAndKeysFromSeed(const std::vector<std::string> &args) {
141+
return serial_bridge::address_and_keys_from_seed(args[0], args[1]);
142+
}
143+
144+
-std::string compareMnemonics(const std::vector<const std::string> &args) {
145+
+std::string compareMnemonics(const std::vector<std::string> &args) {
146+
return serial_bridge::are_equal_mnemonics(args[0], args[1]) ? "t" : "";
147+
}
148+
149+
-std::string createAndSignTx(const std::vector<const std::string> &args) {
150+
+std::string createAndSignTx(const std::vector<std::string> &args) {
151+
return emscr_SendFunds_bridge::send_funds(args[0]);
152+
}
153+
154+
-std::string decodeAddress(const std::vector<const std::string> &args) {
155+
+std::string decodeAddress(const std::vector<std::string> &args) {
156+
return serial_bridge::decode_address(args[0], args[1]);
157+
}
158+
159+
-std::string estimateTxFee(const std::vector<const std::string> &args) {
160+
+std::string estimateTxFee(const std::vector<std::string> &args) {
161+
return serial_bridge::estimated_tx_network_fee(args[0], args[1], args[2]);
162+
}
163+
164+
-std::string generateKeyImage(const std::vector<const std::string> &args) {
165+
+std::string generateKeyImage(const std::vector<std::string> &args) {
166+
return serial_bridge::generate_key_image(
167+
args[0],
168+
args[1],
169+
@@ -32,23 +32,23 @@ std::string generateKeyImage(const std::vector<const std::string> &args) {
170+
);
171+
}
172+
173+
-std::string generatePaymentId(const std::vector<const std::string> &args) {
174+
+std::string generatePaymentId(const std::vector<std::string> &args) {
175+
return serial_bridge::new_payment_id();
176+
}
177+
178+
-std::string generateWallet(const std::vector<const std::string> &args) {
179+
+std::string generateWallet(const std::vector<std::string> &args) {
180+
return serial_bridge::newly_created_wallet(args[0], args[1]);
181+
}
182+
183+
-std::string isIntegratedAddress(const std::vector<const std::string> &args) {
184+
+std::string isIntegratedAddress(const std::vector<std::string> &args) {
185+
return serial_bridge::is_integrated_address(args[0], args[1]) ? "t" : "";
186+
}
187+
188+
-std::string isSubaddress(const std::vector<const std::string> &args) {
189+
+std::string isSubaddress(const std::vector<std::string> &args) {
190+
return serial_bridge::is_subaddress(args[0], args[1]) ? "t" : "";
191+
}
192+
193+
-std::string isValidKeys(const std::vector<const std::string> &args) {
194+
+std::string isValidKeys(const std::vector<std::string> &args) {
195+
return serial_bridge::validate_components_for_login(
196+
args[0],
197+
args[1],
198+
@@ -58,19 +58,19 @@ std::string isValidKeys(const std::vector<const std::string> &args) {
199+
);
200+
}
201+
202+
-std::string mnemonicFromSeed(const std::vector<const std::string> &args) {
203+
+std::string mnemonicFromSeed(const std::vector<std::string> &args) {
204+
return serial_bridge::mnemonic_from_seed(args[0], args[1]);
205+
}
206+
207+
-std::string newIntegratedAddress(const std::vector<const std::string> &args) {
208+
+std::string newIntegratedAddress(const std::vector<std::string> &args) {
209+
return serial_bridge::new_integrated_address(args[0], args[1], args[2]);
210+
}
211+
212+
-std::string prepareTx(const std::vector<const std::string> &args) {
213+
+std::string prepareTx(const std::vector<std::string> &args) {
214+
return emscr_SendFunds_bridge::prepare_send(args[0]);
215+
}
216+
217+
-std::string seedAndKeysFromMnemonic(const std::vector<const std::string> &args) {
218+
+std::string seedAndKeysFromMnemonic(const std::vector<std::string> &args) {
219+
return serial_bridge::seed_and_keys_from_mnemonic(args[0], args[1]);
220+
}
221+
222+
diff --git a/node_modules/react-native-mymonero-core/src/mymonero-wrapper/mymonero-methods.hpp b/node_modules/react-native-mymonero-core/src/mymonero-wrapper/mymonero-methods.hpp
223+
index bfedec1..c287d3b 100644
224+
--- a/node_modules/react-native-mymonero-core/src/mymonero-wrapper/mymonero-methods.hpp
225+
+++ b/node_modules/react-native-mymonero-core/src/mymonero-wrapper/mymonero-methods.hpp
226+
@@ -7,7 +7,7 @@
227+
struct MyMoneroMethod {
228+
const char *name;
229+
int argc;
230+
- std::string (*method)(const std::vector<const std::string> &args);
231+
+ std::string (*method)(const std::vector<std::string> &args);
232+
};
233+
extern const MyMoneroMethod myMoneroMethods[];
234+
extern const unsigned myMoneroMethodCount;

0 commit comments

Comments
 (0)