cloudflare / cloudflare/realtimekit-flutter-bridge
iOS build fails: realtimekit_core_ios 0.1.6 SPM points at internal gitlab.cfdata.org (unreachable externally)
- Dominant language
- Swift
- Stars
- 1
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
`realtimekit_core_ios` 0.1.6 (pulled transitively by `realtimekit_ui` 0.4.0 → `realtimekit_core` 0.1.6) ships a `Package.swift` that points its SPM dependency at a **Cloudflare-internal** Git host, `gitlab.cfdata.org`, which is unreachable for external developers. As a result, **any iOS build on the latest published Flutter packages fails** at SPM resolution.
## Offending declaration
`~/.pub-cache/hosted/pub.dev/realtimekit_core_ios-0.1.6/ios/realtimekit_core_ios/Package.swift`:
```swift
.package(url: "https://gitlab.cfdata.org/cloudflare/rt/mobile/spm/core-bridge.git", exact: "1.10.0"),
```
## Build error
```
xcodebuild: error: Could not resolve package dependencies:
Failed to clone repository https://gitlab.cfdata.org/cloudflare/rt/mobile/spm/core-bridge.git:
fatal: unable to access 'https://gitlab.cfdata.org/cloudflare/rt/mobile/spm/core-bridge.git/':
Failed to connect to gitlab.cfdata.org port 443 ... Couldn't connect to server
```
`gitlab.cfdata.org` does not resolve/connect from outside Cloudflare's network.
## Repro
1. `flutter create demo && cd demo`
2. Add `realtimekit_ui: ^0.4.0` to `pubspec.yaml`, `flutter pub get`
3. `flutter build ios --no-codesign`
4. SPM resolution hangs ~75s then fails as above.
## Root cause / suggested fix
The public mirror of this exact artifact already exists in this repo — `cloudflare/realtimekit-flutter-bridge` carries matching tags **`v1.10.0`** and `v1.11.0`, and `main` already distributes the bridge as a public CDN xcframework (`sdk-assets.realtime.cloudflare.com`).
So the published `realtimekit_core_ios` package just needs its SPM URL swapped from the internal host to the public one (or to the CDN binary target), e.g.:
```swift
// from
.package(url: "https://gitlab.cfdata.org/cloudflare/rt/mobile/spm/core-bridge.git", exact: "1.10.0"),
// to (public)
.package(url: "https://github.com/cloudflare/realtimekit-flutter-bridge.git", exact: "1.10.0"),
```
Please publish a fixed `realtimekit_core_ios` (e.g. 0.1.7) and corresponding `realtimekit_core` / `realtimekit_ui` releases.
## Workaround (for other users hitting this)
Pin off 0.1.6 — the last iOS-buildable native chain is `0.1.5+1` (uses the public `github.com/dyte-in/mobile-core-bridge-spm`):
```yaml
dependencies:
realtimekit_ui: 0.3.0
dependency_overrides:
realtimekit_core: 0.1.5+1
realtimekit_core_ios: 0.1.5+1
```
## Environment
- Flutter 3.44.2 stable, Dart 3.12.x
- Xcode 16.2 (16C5032a), iOS SPM integration
- Published pub versions: `realtimekit_ui` 0.4.0, `realtimekit_core` 0.1.6, `realtimekit_core_ios` 0.1.6
Contributor guide
Research direction
Start by reproducing the failure with the listed Flutter commands, then inspect ios/realtimekit_core_ios/Package.swift in the published realtimekit_core_ios-0.1.6 artifact. Verify whether the public bridge tag or CDN target is appropriate; done means external iOS SPM resolution succeeds and fixed realtimekit_core_ios, realtimekit_core, and realtimekit_ui versions are published.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- build-system, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 52/100