mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-03-25 09:25:50 +00:00
82 lines
No EOL
2.2 KiB
Text
82 lines
No EOL
2.2 KiB
Text
# iOS Development Instructions
|
|
|
|
## Logging with vtlog
|
|
|
|
Use the `vtlog` command to monitor iOS app logs:
|
|
|
|
```bash
|
|
# Monitor all VibeTunnel logs
|
|
vtlog
|
|
|
|
# Filter for specific categories
|
|
vtlog | grep BonjourDiscovery
|
|
vtlog | grep Logger
|
|
|
|
# Show verbose logs
|
|
vtlog -v
|
|
|
|
# Monitor specific subsystem
|
|
vtlog --subsystem sh.vibetunnel.vibetunnel
|
|
```
|
|
|
|
## Building with xcodebuildmcp
|
|
|
|
Use the `xcodebuildmcp` tool to build and test the iOS app:
|
|
|
|
```bash
|
|
# Build the iOS app
|
|
xcodebuildmcp build -workspace ../VibeTunnel.xcworkspace -scheme VibeTunnel-iOS
|
|
|
|
# Run tests
|
|
xcodebuildmcp test -workspace ../VibeTunnel.xcworkspace -scheme VibeTunnel-iOS
|
|
|
|
# Run specific test suite
|
|
xcodebuildmcp test -workspace ../VibeTunnel.xcworkspace -scheme VibeTunnel-iOS -only-testing:VibeTunnelTests/ServerConfigTests
|
|
|
|
# Build for device
|
|
xcodebuildmcp build -workspace ../VibeTunnel.xcworkspace -scheme VibeTunnel-iOS -destination "generic/platform=iOS"
|
|
|
|
# Clean build
|
|
xcodebuildmcp clean -workspace ../VibeTunnel.xcworkspace -scheme VibeTunnel-iOS
|
|
```
|
|
|
|
## Common Development Tasks
|
|
|
|
### Running the app
|
|
1. Open Xcode: `open ../VibeTunnel.xcworkspace`
|
|
2. Select VibeTunnel-iOS scheme
|
|
3. Choose a simulator or device
|
|
4. Press Cmd+R to run
|
|
|
|
### Debugging
|
|
- Use `vtlog` to monitor real-time logs
|
|
- Set breakpoints in Xcode
|
|
- Use the Debug View Hierarchy for UI issues
|
|
|
|
### Testing
|
|
- Run all tests: `xcodebuildmcp test -workspace ../VibeTunnel.xcworkspace -scheme VibeTunnel-iOS`
|
|
- Run specific test: Add `-only-testing:` parameter
|
|
- View test results in Xcode's Test Navigator
|
|
|
|
### Code Quality
|
|
- Format code: `./scripts/lint.sh`
|
|
- Run SwiftLint: `swiftlint`
|
|
- Run SwiftFormat: `swiftformat .`
|
|
|
|
## Important Files
|
|
- Main app entry: `VibeTunnel/App/VibeTunnelApp.swift`
|
|
- Bonjour discovery: `VibeTunnel/Services/BonjourDiscoveryService.swift`
|
|
- Logger utility: `VibeTunnel/Utils/Logger.swift`
|
|
- Server config: `VibeTunnel/Models/ServerConfig.swift`
|
|
|
|
## CI/CD
|
|
The iOS CI runs on GitHub Actions and includes:
|
|
- Building for release
|
|
- Running SwiftFormat and SwiftLint
|
|
- Running all tests with coverage
|
|
- Uploading artifacts
|
|
|
|
Monitor CI status with:
|
|
```bash
|
|
gh pr checks --json name,state | jq -r '.[] | select(.name | contains("iOS")) | "\(.name): \(.state)"'
|
|
``` |