callstack / callstack/react-native-bottom-tabs

[IOS] Swift Compilation Error in NewTabView.swift - Generic Parameter Inference Failure

Ouverte
#490 6 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
bug
Langage dominant
TypeScript
Étoiles
1.5k
Forks
109
Merge moyen
11 h 44 min
PR mergées (30 j)
8

Description

### Before submitting a new issue

- [x] I tested using the latest version of the library, as the bug might be already fixed.
- [x] I tested using a [supported version](https://github.com/reactwg/react-native-releases/blob/main/docs/support.md) of react native.
- [x] I checked for possible duplicate issues, with possible answers.

### Bug summary

When building an iOS project with react-native-bottom-tabs, compilation fails with Swift type inference errors in NewTabView.swift. The issue occurs on iOS 26.0+ code paths related to @Environment key paths.

### Library version

1.1.0

### Environment info

```shell
System:
OS: macOS 15.5
Shell: 5.9 - /bin/zsh
Binaries:
Node: 22.11.0 - ~/.nvm/versions/node/v22.11.0/bin/node
npm: 10.9.0 - ~/.nvm/versions/node/v22.11.0/bin/npm
Watchman: 2024.12.02.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.16.2 - /usr/local/opt/ruby/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 24.5, iOS 18.5, macOS 15.5, tvOS 18.5, visionOS 2.5, watchOS 11.5
IDEs:
Xcode: 16.4/16F6 - /usr/bin/xcodebuild
npmPackages:
expo: ~54.0.27 => 54.0.27
expo-router: ~6.0.17 => 6.0.17
react: 19.1.0 => 19.1.0
react-dom: 19.1.0 => 19.1.0
react-native: 0.81.5 => 0.81.5
react-native-web: ^0.21.0 => 0.21.2
npmGlobalPackages:
eas-cli: 16.28.0
Expo Workflow: bare
```

### Steps to reproduce

### **Steps to Reproduce**
Install react-native-bottom-tabs in a React Native project with Xcode 16.4+

Build iOS project
Observe compilation fails with Swift errors

**Expected Behavior**
The project should compile successfully without Swift type inference errors.

**Actual Behavior**
Compilation fails with the following Swift compiler errors:

```
❌ (node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift:100:4)
100 | @Environment(\.tabViewBottomAccessoryPlacement) var tabViewBottomAccessoryPlacement
| ^ generic parameter 'T' could not be inferred

❌ (node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift:100:16)
100 | @Environment(\.tabViewBottomAccessoryPlacement) var tabViewBottomAccessoryPlacement
| ^ cannot infer key path type from context; consider explicitly specifying a root type
```

### **Code Location**
```
The error occurs in node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift, lines 98-103:

swift
@available(iOS 26.0, *)
struct BottomAccessoryRepresentableView: PlatformViewRepresentable {
@Environment(\.tabViewBottomAccessoryPlacement) var tabViewBottomAccessoryPlacement // Line 100
var view: PlatformView

func makeUIView(context: Context) -> PlatformView {
// ...
}
}
```

### Note from the reporter:
I'm not very familiar with Swift/SwiftUI development, so I don't know what more to provide here. I'm happy to provide more details, logs, or help test any proposed solutions to resolve this issue!

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez dans node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift autour des lignes 98-103 et reproduisez le build iOS avec Xcode 16.4+ dans la configuration signalée. Inspectez la déclaration @Environment d’iOS 26.0+ et les types associés afin de déterminer pourquoi Swift ne peut pas déduire le type de key-path. Le travail est considéré comme terminé lorsque le projet se compile sans ces erreurs de compilation Swift.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
ios, react-native, swift
Domaine
mobile-dev
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.