EasyQSO is an iOS application designed for amateur radio enthusiasts to record, query, and manage their QSO (contact) logs. It provides comprehensive features for logging amateur radio contacts with support for import/export functionality.
- Record callsign, date/time, band, mode, frequency and other basic information
- Record signal reports (RST)
- Add operator name, QTH location and remarks
- Data validation to ensure input accuracy
- View all QSO records
- Search for specific records (by callsign, band, mode, etc.)
- Edit and delete existing records
- Support for ADIF format export (amateur radio standard format)
- Support for CSV format export (universal format)
- Import from ADIF files
- Import from CSV files
- Interactive map location picker
- Timezone management for import/export
- Grid square coordinate support
- Satellite operation logging
- Built with SwiftUI for user interface
- Core Data for data persistence
- MVVM architecture pattern
- Supports iOS 14.0 and above
- Full localization support (English and Chinese)
EasyQSOApp.swift- Application entry pointContentView.swift- Main view with tab navigationQSORecordView.swift- QSO recording viewLogQueryView.swift- Log query viewEditQSOView.swift- QSO record editing viewLogImportExportView.swift- Import/export functionality viewAboutView.swift- About and license information viewQSORecord.swift- Persistence controllerQSORecordEntity.swift- QSO record entity definitionEasyQSOModel.swift- Core Data model definition
- Ensure you have the latest version of Xcode (13.0 or higher)
- Clone or download this repository
- Open the project in Xcode
- Select an iOS simulator or connected device
- Click the Run button or press Command+R
- Open the app and select the "Record QSO" tab
- Fill in the callsign (required)
- Set the date and time
- Select band and mode
- Enter frequency (optional)
- Input signal report
- Add any additional information
- Click "Save QSO Record" button
- Select the "Query Log" tab
- Use the search bar to find specific records
- Swipe left on records to see edit and delete options
- Select the "Import/Export" tab
- Choose export format (ADIF or CSV)
- Click "Export All Records"
- Or select "Import from ADIF File" or "Import from CSV File" to import records
EasyQSO supports multiple languages:
- English (en)
- Chinese Simplified (zh-Hans)
All user interface text is localized and can be easily extended to support additional languages.
This project is released under the GNU General Public License v3.0 (GPLv3).
- Freedom to Use: You can freely use this software
- Freedom to Modify: You can freely modify the source code
- Freedom to Distribute: You can freely distribute this software
- Source Code Requirement: If you distribute modified versions, you must also provide the source code
- Copyright Notice: Must retain original copyright notice and GPL license
For the complete GPLv3 license text, see the LICENSE file, or visit the GNU official website.
If you want to contribute code to the project, please ensure your contributions also follow the GPLv3 license. Submitting code means you agree to license your contributions under the GPLv3 terms.
For license-related questions, please contact the project maintainer.
- Add statistical analysis features
- Integrate map display for QTH locations
- Add DXCC entity and award tracking
- Support for cloud synchronization
- Add dark mode support
- Additional language support
We welcome contributions! Please feel free to submit issues, feature requests, or pull requests. When contributing code, please ensure it follows the existing code style and includes appropriate tests.
If you encounter any issues or have questions, please:
- Check the existing issues on GitHub
- Create a new issue with detailed information
- Contact the development team
- Thanks to all amateur radio operators who provided feedback
- Built with open source technologies and libraries
- Inspired by the amateur radio community's need for better logging tools
EasyQSO - Making amateur radio logging simple and efficient.