mirror of
https://github.com/Sea-Haven-Industries/proposal-system.git
synced 2026-09-30 18:13:14 +00:00
netinfo v12.0.1 calls subscriberCellularProvider and currentRadioAccessTechnology which were removed in iOS 26. No newer version exists. Add patch-package with respondsToSelector guards so the app gracefully returns nil for carrier info and skips cellular generation detection on iOS 26+ instead of crashing on launch.
65 lines
4.4 KiB
Diff
65 lines
4.4 KiB
Diff
diff --git a/node_modules/@react-native-community/netinfo/ios/RNCConnectionState.m b/node_modules/@react-native-community/netinfo/ios/RNCConnectionState.m
|
|
index 5a807a4..94e53f8 100644
|
|
--- a/node_modules/@react-native-community/netinfo/ios/RNCConnectionState.m
|
|
+++ b/node_modules/@react-native-community/netinfo/ios/RNCConnectionState.m
|
|
@@ -47,24 +47,28 @@
|
|
_expensive = true;
|
|
|
|
CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
|
|
- if (netinfo) {
|
|
- if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyGPRS] ||
|
|
- [netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyEdge] ||
|
|
- [netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMA1x]) {
|
|
+ if (netinfo && [netinfo respondsToSelector:@selector(currentRadioAccessTechnology)]) {
|
|
+#pragma clang diagnostic push
|
|
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
+ NSString *radio = netinfo.currentRadioAccessTechnology;
|
|
+#pragma clang diagnostic pop
|
|
+ if ([radio isEqualToString:CTRadioAccessTechnologyGPRS] ||
|
|
+ [radio isEqualToString:CTRadioAccessTechnologyEdge] ||
|
|
+ [radio isEqualToString:CTRadioAccessTechnologyCDMA1x]) {
|
|
_cellularGeneration = RNCCellularGeneration2g;
|
|
- } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyWCDMA] ||
|
|
- [netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSDPA] ||
|
|
- [netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyHSUPA] ||
|
|
- [netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORev0] ||
|
|
- [netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORevA] ||
|
|
- [netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyCDMAEVDORevB] ||
|
|
- [netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyeHRPD]) {
|
|
+ } else if ([radio isEqualToString:CTRadioAccessTechnologyWCDMA] ||
|
|
+ [radio isEqualToString:CTRadioAccessTechnologyHSDPA] ||
|
|
+ [radio isEqualToString:CTRadioAccessTechnologyHSUPA] ||
|
|
+ [radio isEqualToString:CTRadioAccessTechnologyCDMAEVDORev0] ||
|
|
+ [radio isEqualToString:CTRadioAccessTechnologyCDMAEVDORevA] ||
|
|
+ [radio isEqualToString:CTRadioAccessTechnologyCDMAEVDORevB] ||
|
|
+ [radio isEqualToString:CTRadioAccessTechnologyeHRPD]) {
|
|
_cellularGeneration = RNCCellularGeneration3g;
|
|
- } else if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) {
|
|
+ } else if ([radio isEqualToString:CTRadioAccessTechnologyLTE]) {
|
|
_cellularGeneration = RNCCellularGeneration4g;
|
|
} else if (@available(iOS 14.1, *)) {
|
|
- if ([netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyNRNSA] ||
|
|
- [netinfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyNR]) {
|
|
+ if ([radio isEqualToString:CTRadioAccessTechnologyNRNSA] ||
|
|
+ [radio isEqualToString:CTRadioAccessTechnologyNR]) {
|
|
_cellularGeneration = RNCCellularGeneration5g;
|
|
}
|
|
}
|
|
diff --git a/node_modules/@react-native-community/netinfo/ios/RNCNetInfo.mm b/node_modules/@react-native-community/netinfo/ios/RNCNetInfo.mm
|
|
index baa2de0..6b75224 100644
|
|
--- a/node_modules/@react-native-community/netinfo/ios/RNCNetInfo.mm
|
|
+++ b/node_modules/@react-native-community/netinfo/ios/RNCNetInfo.mm
|
|
@@ -190,7 +190,13 @@ RCT_EXPORT_METHOD(configure:(NSDictionary *)config)
|
|
return nil;
|
|
#else
|
|
CTTelephonyNetworkInfo *netinfo = [[CTTelephonyNetworkInfo alloc] init];
|
|
+ if (![netinfo respondsToSelector:@selector(subscriberCellularProvider)]) {
|
|
+ return nil;
|
|
+ }
|
|
+#pragma clang diagnostic push
|
|
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
CTCarrier *carrier = [netinfo subscriberCellularProvider];
|
|
+#pragma clang diagnostic pop
|
|
return carrier.carrierName;
|
|
#endif
|
|
}
|