Add UniFFI iOS bridge crate

This commit is contained in:
Mikhail Kilin
2026-05-20 14:04:45 +03:00
parent 186f0edbb3
commit 0878ba78df
8 changed files with 1241 additions and 2 deletions

View File

@@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
OUT_DIR="${1:-$ROOT_DIR/build/ios-ffi}"
LIB_PATH="$ROOT_DIR/target/release/libtele_ios_ffi.a"
cd "$ROOT_DIR"
cargo build -p tele-ios-ffi --release
rm -rf "$OUT_DIR"
mkdir -p "$OUT_DIR/Swift" "$OUT_DIR/Headers" "$OUT_DIR/Modules"
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Swift" --swift-sources
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Headers" --headers
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Headers" \
--modulemap \
--module-name tele_ios_ffiFFI \
--modulemap-filename module.modulemap
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Modules" \
--xcframework \
--modulemap \
--module-name tele_ios_ffiFFI \
--modulemap-filename module.modulemap
printf 'Generated UniFFI Swift bindings in %s\n' "$OUT_DIR"