Mirror: This repo is a read-only mirror of gitlab.com/vauchi/ios. Please open issues and merge requests there.
Note
You're early — and that's the point. Vauchi is pre-alpha and under heavy development: not yet ready for production, and APIs may change without notice. If you're here now, you can help shape it — try it, break it, and tell us what's missing.
Native iOS app for Vauchi - living contact cards, exchanged in person.
- macOS
- Xcode (download from App Store or developer.apple.com)
- Rust (for building UniFFI bindings)
Run the setup script to configure Xcode:
./scripts/xcode-ide-setup.shThis script will:
- Verify Xcode installation
- Accept the license agreement
- Run first launch setup (installs required components)
- Download iOS platform and simulators
- Install Rust iOS targets for UniFFI builds
If you prefer manual setup or the script fails:
Option A - App Store:
- Open App Store, search "Xcode", install
Option B - Developer Portal (specific versions):
- Go to https://developer.apple.com/download/all/
- Sign in with Apple ID
- Download Xcode .xip file
- Extract and move to
/Applications/Xcode.app
sudo xcodebuild -license acceptxcodebuild -runFirstLaunchxcodebuild -downloadPlatform iOSOr via Xcode: Settings → Components → iOS
rustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim# Build for simulator
xcodebuild -scheme Vauchi -destination 'platform=iOS Simulator,name=iPhone 16' build
# Run tests
xcodebuild -scheme Vauchi -destination 'platform=iOS Simulator,name=iPhone 16' testopen Vauchi.xcodeprojThen use Cmd+B to build, Cmd+R to run.
Vauchi.xcodeproj plus three source roots: Vauchi/ (app code:
Views/, ViewModels/, Services/, CoreUI/), VauchiTests/
(unit tests), and scripts/ (setup + signing helpers). Run ls for
the live tree — this README deliberately carries no file inventory.
The iOS app follows MVVM architecture:
- Views: SwiftUI views for UI
- ViewModels: Business logic and state management
- Services: Data access (VauchiRepository wraps UniFFI bindings)
The app uses vauchi-platform UniFFI bindings to call
the Rust vauchi-core library for all cryptographic
operations and data storage.
Install iOS simulators:
xcodebuild -downloadPlatform iOSsudo xcodebuild -license acceptxcodebuild -runFirstLaunchrustup target add aarch64-apple-ios x86_64-apple-ios aarch64-apple-ios-sim| Repository | Description |
|---|---|
| vauchi/core | Core Rust library (source of UniFFI bindings) |
| vauchi/android | Android app (Kotlin/Compose) |
| vauchi/docs | Documentation |
| vauchi/scripts | Build scripts and workspace tools |
TDD: Red→Green→Refactor. Test FIRST or delete code and restart.
Structure: src/ = production code only. tests/ = tests only. Siblings, not nested.
See CLAUDE.md for additional mandatory rules.
- Check vauchi/docs for architecture decisions
- Follow Apple's Human Interface Guidelines
- Write tests for new features
- Core library changes go to vauchi/core
Vauchi is open source and community-funded — no VC money, no data harvesting.
- GitHub Sponsors
- Liberapay
- Supporters for sponsorship tiers
GPL-3.0-or-later