Files
telegram-tui/crates/tele-ios-ffi/README.md
2026-05-20 16:14:17 +03:00

1.1 KiB

tele-ios-ffi

UniFFI bridge for the future native iOS app.

Current scope:

  • Exposes a fake-backed SessionHandle for Swift integration tests and app shell work.
  • Mirrors the tele-core::session DTO/event model with UniFFI-compatible records and enums.
  • Keeps real TDLib session creation out of this crate until iOS simulator/device linking is validated.

Generate Swift bindings and headers:

scripts/generate-ios-ffi-bindings.sh

The script builds target/release/libtele_ios_ffi.a and writes Swift sources, headers, a Swift typecheck-friendly tele_ios_ffiFFI module map, and an XCFramework-compatible module map under build/ios-ffi/.

Known blocker:

  • Xcode is installed at /Applications/Xcode.app, and DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcodebuild -version reports Xcode 26.5.
  • xcrun simctl currently fails because the Xcode license has not been accepted: You have not agreed to the Xcode license agreements. Please run 'sudo xcodebuild -license' from within a Terminal window to review and agree to the Xcode and Apple SDKs license.
  • Real TDLib iOS simulator/device linking therefore is not validated yet.