Files
telegram-tui/docs/ios/tdlib-linking.md
2026-05-20 23:04:03 +03:00

1.5 KiB

TDLib iOS Linking Status

Local toolchain status:

  • Xcode 26.5 is installed at /Applications/Xcode.app.
  • iOS 26.5 simulator runtime is installed.
  • scripts/check-ios-prereqs.sh passes.
  • scripts/run-ios-simulator-app.sh launches the fake-backed SwiftUI shell in iOS Simulator.

Current real TDLib blocker:

DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer cargo build -p tele-ios-ffi --target aarch64-apple-ios-sim --release

Observed failure:

[Your OS or architecture may be unsupported.] Failed to download file: Please try using the `pkg-config` or `local-tdlib` features.
404 Not Found
https://github.com/FedericoBruzzone/tdlib-rs/releases/download/v1.2.0/tdlib-1.8.29-ios-aarch64.zip

Interpretation:

  • Rust, Swift, Xcode, and the iOS simulator runtime are working.
  • The fake-backed iOS app shell can be built, installed, launched, and rendered.
  • Real TDLib iOS linking is blocked because tdlib-rs 1.2.0 does not publish the iOS static library artifact requested by its download-tdlib build script.

Next viable paths:

  1. Build TDLib for iphoneos and iphonesimulator locally and switch the Rust dependency path to local-tdlib or pkg-config.
  2. Add a fake-only tele-ios-ffi build feature that avoids linking TDLib for simulator UI work, while keeping real TDLib behind a separate feature.
  3. Replace the tdlib-rs packaging path for iOS with a lower-level C ABI/XCFramework if UniFFI plus tdlib-rs cannot link cleanly on device.