Features
- Real-time Log Streaming - View simulator logs as they happen during app execution
- Log Panel - Dedicated webview panel for viewing and filtering logs
- Filtered Output - Automatically filters to show only your app’s logs
- Integration with Debug Sessions - Logs automatically start streaming when debugging
Getting Started
1
Open your project
Open your iOS/macOS project in VS Code with FlowDeck
2
Select a simulator
Choose a simulator as your build destination
3
Start debugging
Launch your app with debugging (F5)
4
View logs
Logs automatically appear in the FlowDeck Logs panel
How It Works
When you start a debug session on a simulator, FlowDeck:- Detects your app name and simulator ID
- Runs
xcrun simctl spawnwithlog streamto capture logs - Filters logs using predicates like
processImagePath CONTAINS "YourApp" - Displays filtered logs in the FlowDeck Logs panel
Using OSLog in Your Code
FlowDeck captures logs from Apple’s unified logging system:Physical Device Logging
When debugging on physical devices, FlowDeck cannot stream logs directly due to Apple’s security restrictions.For physical devices, FlowDeck provides a button to open Console.app where you can manually configure filters to view your device logs.
Using Console.app for Device Logs
When debugging on a device:- FlowDeck will show a notification with an option to open Console.app
- In Console.app, select your device from the sidebar
- Use the search field to filter by your app name
- Add predicates like
processImagePath CONTAINS "YourApp"for better filtering
Limitations
- Simulator Only - Real-time log streaming only works with simulators
- macOS Requirement - Uses macOS-specific tools (
xcrun simctl) - Debug Sessions - Log streaming is tied to debug sessions
- No Export - The current implementation doesn’t support log export
Troubleshooting
No Logs Appearing
- Ensure you’re using a simulator, not a physical device
- Check that your app is using
os.logorLoggerAPIs - Verify the debug session started successfully
Too Many Logs
- FlowDeck automatically filters to your app’s process
- Avoid logging at Debug level in production code
Device Logs Not Working
- This is expected - use Console.app for physical devices
- FlowDeck will show a notification with a button to open Console.app
