cloudflare / cloudflare/realtimekit-flutter-bridge

iOS build fails: realtimekit_core_ios 0.1.6 SPM points at internal gitlab.cfdata.org (unreachable externally)

Open
#1 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.