Commit Graph

1 Commits

Author SHA1 Message Date
Claude e4e5a03dd8
feat(ios): add native iOS app support with gomobile
Implements a native iOS app that runs the full Memos backend locally on iOS devices.

Architecture:
- Uses gomobile to compile Go backend as iOS framework
- SwiftUI app with WKWebView displays the React UI
- All data stored locally in SQLite on device
- Optional network access for other devices to connect

Key Components:
- mobile/server.go: gomobile binding layer for iOS
- ios/Memos/: Native SwiftUI app with server management
- scripts/build-ios.sh: Build script for iOS framework
- IOS.md: Comprehensive iOS documentation

Features:
- Full backend runs natively on iOS (no cloud required)
- Complete feature parity with desktop version
- Network access toggle to allow LAN connections
- Settings UI showing server status and network address
- Automatic server lifecycle management

Network Modes:
- Local only (default): accessible only from the device
- Network access: binds to 0.0.0.0 for LAN access

Usage:
1. Run ./scripts/build-ios.sh to build framework
2. Open ios/Memos.xcodeproj in Xcode
3. Build and run on iOS device or simulator

Technical Details:
- Minimum iOS 15.0
- Server runs on port 5230 (configurable)
- Data stored in app Documents directory
- WKWebView for web UI rendering
- Native iOS controls for settings

See IOS.md and ios/README.md for detailed documentation.
2025-11-19 03:44:38 +00:00