callstack / callstack/react-native-bottom-tabs

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

オープン
#490 コメント 6 件 リアクション 1 件 担当者 0 名 GitHub で見る
bug
主要言語
TypeScript
スター
1.5k
フォーク
109
平均マージ
11時間 44分
マージ済み PR(30日)
8

説明

### 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!

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

node_modules/react-native-bottom-tabs/ios/TabView/NewTabView.swift の98〜103行付近から始め、報告された構成で Xcode 16.4+ を使用して iOS ビルドを再現します。iOS 26.0+ の @Environment 宣言と関連する型を調査し、Swift が key-path の型を推論できない理由を特定します。プロジェクトがこれらの Swift コンパイルエラーなしでビルドできれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
ios, react-native, swift
領域
mobile-dev
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。