vibetunnel/ios/CLAUDE.md
Helmut Januschka f3b2022d48
Integrate screencap functionality for remote screen sharing (#209)
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2025-07-06 03:31:34 +01:00

79 lines
No EOL
1.9 KiB
Markdown

# CLAUDE.md - iOS App
This file provides guidance to Claude Code when working with the iOS companion app for VibeTunnel.
## Project Overview
The iOS app is a companion application to VibeTunnel that allows viewing and managing terminal sessions from iOS devices.
## Development Setup
1. Open the project in Xcode:
```bash
open ios/VibeTunnel-iOS.xcodeproj
```
2. Select your development team in project settings
3. Build and run on simulator or device
## Architecture
- SwiftUI for the user interface
- WebSocket client for real-time terminal data
- Shared protocol definitions with macOS app
## Key Files
- `VibeTunnelApp.swift` - Main app entry point
- `ContentView.swift` - Primary UI
- `TerminalView.swift` - Terminal display component
- `WebSocketClient.swift` - Server communication
## Building
```bash
# Build for simulator
xcodebuild -project VibeTunnel-iOS.xcodeproj -scheme VibeTunnel -sdk iphonesimulator
# Build for device
xcodebuild -project VibeTunnel-iOS.xcodeproj -scheme VibeTunnel -sdk iphoneos
```
## Testing
```bash
# Run tests
xcodebuild test -project VibeTunnel-iOS.xcodeproj -scheme VibeTunnel -destination 'platform=iOS Simulator,name=iPhone 15'
```
## Viewing Logs
Use the provided script to view iOS app logs with unredacted private data:
```bash
# View all logs
./ios/scripts/vtlog.sh
# Filter by category
./ios/scripts/vtlog.sh -c NetworkManager
# Follow logs in real-time
./ios/scripts/vtlog.sh -f
# Search for specific terms
./ios/scripts/vtlog.sh -s "connection"
```
If prompted for password when viewing logs, see [apple/docs/logging-private-fix.md](../apple/docs/logging-private-fix.md) for setup instructions.
## Common Issues
### Simulator Connection Issues
- Ensure the Mac app server is running
- Check that simulator can reach localhost:4020
- Verify no firewall blocking connections
### Device Testing
- Device must be on same network as Mac
- Use Mac's IP address instead of localhost
- Check network permissions in iOS settings