Wire local TDLib into iOS FFI build
This commit is contained in:
@@ -11,15 +11,17 @@ repository = "https://github.com/your-username/tele-tui"
|
||||
crate-type = ["cdylib", "staticlib", "rlib"]
|
||||
|
||||
[features]
|
||||
default = ["core-session"]
|
||||
default = ["core-session-download"]
|
||||
core-session = ["dep:tele-core"]
|
||||
core-session-download = ["core-session", "tele-core/tdlib-download"]
|
||||
core-session-local-tdlib = ["core-session", "tele-core/tdlib-local"]
|
||||
standalone-fake = []
|
||||
|
||||
[dependencies]
|
||||
tele-core = { path = "../tele-core", features = ["test-support"], optional = true }
|
||||
tele-core = { path = "../tele-core", default-features = false, features = ["test-support"], optional = true }
|
||||
tokio = { version = "1", features = ["rt-multi-thread"] }
|
||||
thiserror = "1.0"
|
||||
uniffi = { version = "0.31.1", features = ["tokio"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tele-core = { path = "../tele-core", features = ["test-support"] }
|
||||
tele-core = { path = "../tele-core", default-features = false, features = ["test-support", "tdlib-download"] }
|
||||
|
||||
@@ -6,7 +6,7 @@ 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.
|
||||
- Supports a fake-only build for UI work and a real TDLib build path using local iOS TDLib artifacts.
|
||||
|
||||
Generate Swift bindings and headers:
|
||||
|
||||
@@ -40,5 +40,7 @@ Current linking status:
|
||||
|
||||
- Xcode is installed at `/Applications/Xcode.app`, and `DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcodebuild -version` reports Xcode 26.5.
|
||||
- The iOS 26.5 simulator runtime is installed and `scripts/check-ios-prereqs.sh` passes with available iPhone/iPad simulators.
|
||||
- The current app shell uses the fake Swift bridge. Real TDLib iOS simulator/device linking is still pending until TDLib is built for `iphonesimulator` and `iphoneos` and wired into the UniFFI target.
|
||||
- Run `scripts/check-ios-tdlib-linking.sh` to reproduce the current TDLib iOS blocker documented in `docs/ios/tdlib-linking.md`.
|
||||
- The current app shell uses the fake Swift bridge.
|
||||
- `tdlib-rs` does not publish iOS `download-tdlib` archives, so real iOS linking uses `tele-core/tdlib-local` and `LOCAL_TDLIB_PATH`.
|
||||
- Local TDLib linking is validated for `aarch64-apple-ios-sim` via `scripts/check-ios-tdlib-linking.sh` and for `aarch64-apple-ios` via `IOS_RUST_TARGET=aarch64-apple-ios scripts/build-ios-ffi-with-local-tdlib.sh`.
|
||||
- `scripts/build-ios-real-ffi-xcframework.sh` packages local simulator Rust slices plus local `libtdjson` into app-local XCFrameworks, generates Swift bindings, and enables Xcode builds with `TELE_IOS_USE_LOCAL_FFI=1`.
|
||||
|
||||
Reference in New Issue
Block a user