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

Aperta
#490 6 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
ios, react-native, swift
Ambito
mobile-dev

Direzione di ricerca

Inizia in node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift intorno alle righe 98-103 e riproduci la build iOS con Xcode 16.4+ nella configurazione segnalata. Esamina la dichiarazione @Environment di iOS 26.0+ e i tipi correlati per determinare perché Swift non riesce a inferire il tipo di key-path. Il lavoro è completato quando il progetto viene compilato senza questi errori di compilazione Swift.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug
Before submitting a new issue
  • I tested using the latest version of the library, as the bug might be already fixed.
  • I tested using a supported version of react native.
  • 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
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!

Lingua principale
TypeScript
Stelle
1.5k
Fork
108
Merge medio
12h 42m
PR unite (30g)
9

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di callstack/react-native-bottom-tabs

Tutte le issue di callstack/react-native-bottom-tabs

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.