A comprehensive iOS screentime management app built with SwiftUI and ExtensionKit.
- 📱 Device activity monitoring and reporting
- 🔒 App blocking and session management
- 📊 Usage analytics and charts
- 🎯 Focus sessions and notifications
- 🛡️ Shield configuration for blocked apps
The app consists of several components:
- Main App: Core SwiftUI application with onboarding, session management, and analytics
- Device Activity Extension: ExtensionKit extension for activity reporting
- Device Activity Monitor Extension: Background monitoring of device activity
- Shield Configuration Extension: Custom UI for blocked apps
- iOS 18.0+
- Xcode 15.0+
- Swift 5.9+
- Clone the repository
- Open
ClearMind.xcodeprojin Xcode - Configure signing and provisioning profiles
- Build and run the project
This project uses GitHub Actions for continuous integration and deployment:
- CI Pipeline: Runs tests on every push and PR
- Build Pipeline: Creates builds for main branch
- Release Pipeline: Handles App Store deployment for tagged releases
For the CI/CD pipeline to work, add these secrets to your GitHub repository:
BUILD_CERTIFICATE_BASE64: Base64 encoded iOS distribution certificate (.p12)P12_PASSWORD: Password for the distribution certificateKEYCHAIN_PASSWORD: Password for the temporary keychainBUILD_PROVISION_PROFILE_BASE64: Base64 encoded provisioning profileEXPORT_OPTIONS_PLIST: Base64 encoded ExportOptions.plistAPP_STORE_CONNECT_API_KEY_BASE64: Base64 encoded App Store Connect API key (.p8)APP_STORE_CONNECT_API_KEY_ID: App Store Connect API key IDAPP_STORE_CONNECT_ISSUER_ID: App Store Connect issuer ID