A peer-to-peer file transfer and communication app for iOS, enabling direct device-to-device connections without requiring internet access.
- Device Discovery - Automatically discover nearby devices using Bonjour/mDNS
- P2P Connection - Direct peer-to-peer connections via WebRTC
- File Transfer - Send files of any type between devices
- Chat - Real-time messaging with support for:
- Text messages
- Voice recordings
- Media sharing (photos, videos)
- Message reactions
- Reply threads
- Read receipts
- Voice Calls - High-quality voice calls over P2P connection
- Device Library - Save and organize frequently connected devices into groups
- Transfer History - Track all file transfers
- iOS 16.0+
- Xcode 15.0+
- Swift 5.9+
-
Clone the repository:
git clone git@github.com:hanfour/peer-drop.git cd peer-drop -
Generate the Xcode project:
xcodegen generate
-
Open the project:
open PeerDrop.xcodeproj
-
Build and run on your device or simulator.
PeerDrop/
├── App/ # App entry point and configuration
├── Core/ # Core functionality
│ ├── ConnectionManager # P2P connection handling
│ ├── ChatManager # Messaging functionality
│ ├── TransferManager # File transfer logic
│ └── VoiceCallManager # Voice call handling
├── UI/ # SwiftUI views
│ ├── Discovery/ # Device discovery views
│ ├── Connection/ # Connection management views
│ ├── Chat/ # Chat interface
│ ├── Library/ # Device library views
│ ├── Transfer/ # File transfer views
│ └── Settings/ # App settings
└── Extensions/ # Swift extensions
Screenshots are automatically captured using Fastlane. See fastlane/README.md for details.
To capture screenshots:
xcodebuild test -scheme PeerDropUITests \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro Max' \
-only-testing:PeerDropUITests/SnapshotTests \
CODE_SIGNING_REQUIRED=NOxcodebuild test -scheme PeerDrop -destination 'platform=iOS Simulator,name=iPhone 17 Pro Max'xcodebuild test -scheme PeerDropUITests -destination 'platform=iOS Simulator,name=iPhone 17 Pro Max'The project includes comprehensive end-to-end tests for multi-device scenarios. See PeerDropUITests/E2E/ for details.
- WebRTC - Real-time communication
This project is proprietary software. All rights reserved.
Hanfour