Diagnostics  by AvdLee

Swift library for streamlined bug diagnostics and sharing

Created 6 years ago
1,273 stars

Top 30.5% on SourcePulse

GitHubView on GitHub
Project Summary

AvdLee/Diagnostics is a Swift library designed to streamline the process of sharing diagnostic reports with support teams, significantly improving bug-fixing workflows. It empowers users to easily generate and send detailed system and application information, enabling faster issue resolution for developers.

How It Works

The library generates agent-friendly, single-file HTML reports that can optionally embed structured JSON data. It leverages native platform features like MFMailComposeViewController on iOS/iPadOS and NSSharingService on macOS for seamless sharing. A key innovation is its "smart insights" engine, which automatically detects and flags potential issues like low storage or outdated app versions, providing actionable context alongside raw diagnostics.

Quick Start & Requirements

This is a Swift library intended for integration into iOS, iPadOS, and macOS applications developed with Xcode. Integration involves adding the library (e.g., via Swift Package Manager) and initializing DiagnosticsLogger early in the application lifecycle. The provided examples demonstrate attaching the generated report to MFMailComposeViewController on iOS/iPadOS or using NSSharingService on macOS. No specific installation command (e.g., pip, Docker) is detailed.

Highlighted Details

  • Generates single-file HTML reports with optional embedded JSON.
  • Includes default reporters for app metadata, system metadata, and system logs.
  • Supports filtering sensitive data and adding custom logs/reporters.
  • Features "smart insights" for automatic issue detection (e.g., low storage, latest version).
  • Offers native cross-platform support for iOS, iPadOS, and macOS.

Maintenance & Community

Information regarding maintainers, community channels (e.g., Discord, Slack), sponsorships, or roadmap is not present in the provided README.

Licensing & Compatibility

The README mentions a "License" section but does not specify the license type or any associated terms. This omission makes it impossible to determine compatibility for commercial use or closed-source linking without further investigation.

Limitations & Caveats

The primary caveat is the absence of a specified license, which is a critical blocker for adoption decisions. While the library offers a simulator fallback for mail composition, no other explicit limitations, known bugs, or alpha status are mentioned.

Health Check
Last Commit

3 days ago

Responsiveness

Inactive

Pull Requests (30d)
5
Issues (30d)
0
Star History
99 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.