PHONE BROKER is an iOS Flutter application that runs one or more embedded MQTT brokers directly on an iPhone.
It is designed for local IoT testing, demos, and diagnostics when you need a portable broker endpoint without external server infrastructure.
- Run multiple broker instances on independent ports.
- Start, stop, restart, duplicate, and delete broker profiles.
- Inspect runtime state, connected clients, and packet-level logs.
- Import and export broker configurations as JSON.
- Export broker logs for diagnostics and support.
- Use built-in network diagnostics (local/public IP, Wi-Fi metadata).
- Configure app language and global defaults for broker creation.
lib/: Flutter/Dart application source.ios/: iOS host app, Xcode project/workspace, CocoaPods integration.assets/: App images and visual resources.docs/: Project documentation, architecture notes, and generated API docs.test/: Widget and future test suites.
- macOS (recent stable version)
- Xcode (recent stable version)
- Flutter SDK (stable channel)
- CocoaPods (
podCLI available)
From repository root:
flutter pub get
cd ios
pod install
cd ..
flutter run -d <device_id>Run in debug:
flutter run -d <device_id>Run in profile:
flutter run --profile -d <device_id>Run in release:
flutter run --release -d <device_id>Build iOS debug without signing:
flutter build ios --debug --no-codesignBuild iOS release:
flutter build ios --release- Open
ios/Runner.xcworkspace. - Select the
Runnertarget. - Configure
Signing & Capabilities. - Select simulator or physical iPhone.
- Run using
Product -> Run.
- The app is intended for local/edge usage.
- iOS background policies may suspend long-lived socket activity.
- Wireless debugging can be less reliable than USB deployment.
- Startup is protected by timeout and storage recovery safeguards.
- Contributing Guide
- Code of Conduct
- Security Policy
- Support Guide
- Changelog
- Development Guide
- Architecture
- Troubleshooting
- Release Process
- Code API Reference
Wiki source pages are included in this repository under wiki/:
wiki/Home.mdwiki/Getting-Started.mdwiki/Architecture.mdwiki/Troubleshooting.mdwiki/FAQ.mdwiki/Release-Process.md
You can copy these pages into the GitHub Wiki repository (PHONE-BROKER.wiki.git) to publish them.
Static analysis:
flutter analyzeTests:
flutter testThis project is licensed under the MIT License. See LICENSE.




