Files
telegram-tui/docs/ios/release-checklist.md
2026-05-20 15:52:22 +03:00

1.6 KiB

iOS Release Checklist

Support Matrix

  • Minimum iOS: 17.0
  • Swift package shell also builds on macOS 14 for local smoke coverage.
  • Rust targets: iOS device and simulator targets still need TDLib validation.
  • TDLib: tdlib-rs 1.2.0 with download-tdlib; iOS packaging is not validated yet.
  • Bridge: UniFFI 0.31.1 generated Swift bindings.

Required Before TestFlight

  1. Install and select full Xcode with xcode-select.
  2. Create the Xcode app project or wire the Swift package into an Xcode app target.
  3. Add app icon, launch screen, bundle id, signing team, notification capability, and entitlements.
  4. Build TDLib for simulator and device architectures.
  5. Package Rust static libraries and generated UniFFI Swift/header/modulemap output into an XCFramework.
  6. Run simulator smoke with fake bridge.
  7. Run real-device smoke with real Telegram credentials.
  8. Archive and upload to TestFlight.

CI Gates

  • cargo fmt -- --check
  • cargo check -p tele-core
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test --workspace --all-features
  • scripts/generate-ios-ffi-bindings.sh
  • swiftc -typecheck for generated Swift bindings
  • swift build --product TeleTuiIOSApp
  • swift run TeleTuiIOSSmokeTests

Rollback

  1. Disable the TestFlight build in App Store Connect.
  2. Re-upload the previous known-good archive.
  3. If the issue is TDLib/session related, revoke the affected build and keep existing accounts on the previous app version.
  4. Preserve account Application Support directories; do not delete TDLib databases during rollback unless the issue is confirmed to be corrupted local state.