Skip to content

raviseta/ClearMindApp

Repository files navigation

Screentime App

A comprehensive iOS screentime management app built with SwiftUI and ExtensionKit.

Features

  • 📱 Device activity monitoring and reporting
  • 🔒 App blocking and session management
  • 📊 Usage analytics and charts
  • 🎯 Focus sessions and notifications
  • 🛡️ Shield configuration for blocked apps

Architecture

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

Requirements

  • iOS 18.0+
  • Xcode 15.0+
  • Swift 5.9+

Setup

  1. Clone the repository
  2. Open ClearMind.xcodeproj in Xcode
  3. Configure signing and provisioning profiles
  4. Build and run the project

CI/CD

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

Required Secrets

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 certificate
  • KEYCHAIN_PASSWORD: Password for the temporary keychain
  • BUILD_PROVISION_PROFILE_BASE64: Base64 encoded provisioning profile
  • EXPORT_OPTIONS_PLIST: Base64 encoded ExportOptions.plist
  • APP_STORE_CONNECT_API_KEY_BASE64: Base64 encoded App Store Connect API key (.p8)
  • APP_STORE_CONNECT_API_KEY_ID: App Store Connect API key ID
  • APP_STORE_CONNECT_ISSUER_ID: App Store Connect issuer ID

Development

Building

About

screentime-new use this

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published