SkillAgentSearch skills...

Timer

Timers Made Simple. The Ultimate Swift Framework with advanced timer management, state control and reactive programming support.

Install / Use

/learn @Mijick/Timer

README

<!--Hero Image--> <p align="center"> <picture> <img alt="MijickTimer Hero" src="https://github.com/Mijick/Assets/blob/main/Timer/hero.png" width="100%"> </picture> </p> <!--Text Header--> <p> <h3 align="center">Timers made simple</h3> <p align="center">Easy to use yet powerful Timer library. Keep your code clean.</p> </p> <!--Links: Demo, Wiki--> <p align="center"> <a href="https://link.mijick.com/timer-demo" rel="nofollow"><b>Try demo we prepared</b></a> | <a href="https://link.mijick.com/timer-wiki" rel="nofollow"><b>Framework documentation</b></a> | <a href="https://link.mijick.com/timer-roadmap" rel="nofollow"><b>Roadmap</b></a> </p> <br> <!--Labels--> <p align="center"> <img alt="Labels" src="https://github.com/Mijick/Assets/blob/main/Timer/Labels/labels.svg"/> </p> <br> <!--GIFs--> <table> <thead> <tr> <th>Multiple Timers</th> <th>State Control</th> </tr> </thead> <tbody> <tr> <td> <img alt="Timer Examples" src="https://github.com/Mijick/Assets/blob/main/Timer/GIFs/Timer-1.gif"/> </td> <td> <img alt="Timer Examples" src="https://github.com/Mijick/Assets/blob/main/Timer/GIFs/Timer-2.gif"/> </td> </tr> </tbody> </table> <br> <br> <!--Buttons--> <p> <!--Website--> <a href="https://link.mijick.com/app"> <img alt="Visit our Website" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/website.png" height="40px"> </a> <!--Discord--> <a href="https://link.mijick.com/discord"> <img alt="Join us on Discord" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/discord.png" height="40px"> </a> <!--Linkedin--> <a href="https://link.mijick.com/linkedin"> <img alt="Follow us on LinkedIn" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/linkedin.png" height="40px"> </a> <!--GitHub--> <a href="https://link.mijick.com/github"> <img alt="See our other frameworks" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/github.png" height="40px"> </a> <!--Medium--> <a href="https://link.mijick.com/medium"> <img alt="Read us on Medium" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/medium.png" height="40px"> </a> <!--Buymeacoffee--> <a href="https://link.mijick.com/buymeacoffee"> <img alt="Buy us a coffee" src="https://github.com/Mijick/Assets/blob/main/Common/Buttons/buymeacoffee.png" height="40px"> </a> </p> <!--Features table-->

✨ Features

<table> <tbody> <tr> <td> ⏳ </td> <td> Countdown Timer (Down-Going) </td> </tr> <tr> <td> ⏱️ </td> <td> Count-Up Timer (Elapsed Time) </td> </tr> <tr> <td> ⏸️ </td> <td> Pause Timer </td> </tr> <tr> <td> ▶️ </td> <td> Resume Timer </td> </tr> <tr> <td> ⏭️ </td> <td> Skip Timer </td> </tr> <tr> <td> ⏮️ </td> <td> Cancel Timer </td> </tr> <tr> <td> ⚡ </td> <td> Reactive programming friendly </td> </tr> </tbody> </table> <!--Description-->

☀️ What is MijickTimer?

MijickTimer library is Swift-based library that offers powerful and flexible timer features for iOS and macOS and visionOS apps. It allows to create both countdown and count-up timers with enhanced state management and observation options.

<p> <h3>Count-Up Timer</h3> <p> Track elapsed time seamlessly with a count-up timer. Ideal for productivity, logging or workout apps.</p> <p> Take a look at the implementation details <a href="https://github.com/Mijick/Timer/wiki/Timer-Start-Up">here</a>. </p> </p> <img alt="A demonstration of the code used to compare the implementation of the native iOS timer framework with the custom MijickTimer." src="https://github.com/Mijick/Assets/blob/main/Timer/Code/less-code.png" width="100%"> <p> <h3>Countdown Timer</h3> <p> Easily create countdown timers to track remaining time. Perfect for games, events or task apps.</p> <p> Take a look at the implementation details <a href="https://github.com/Mijick/Timer/wiki/Timer-Start-Up">here</a>. </p> </p> <img alt="An illustration of how to create a countdown timer using only a few lines of code with the MijickTimer library." src="https://github.com/Mijick/Assets/blob/main/Timer/Code/countdown.png" width="100%"> <p> <h3>Control Timer state</h3> <p> Pause timers and resume them later without losing progress. It also allows to skip and cancel the progress. </p> <p> Take a look at the implementation details <a href="https://github.com/Mijick/Timer/wiki/Timer-State-Control">here</a>. </p> </p> </p> <img alt="Demonstrates code for controlling the Timer state via the MijickTimer library: stop, pause, resume, skip, and cancel or stop the Timer.", src="https://github.com/Mijick/Assets/blob/main/Timer/Code/state-control.png" width="100%"> <h3>Observe Timer State</h3> <p> <p> Monitor timer state with a variety of different approaches: binding, callbacks, combine, state value updates.</p> <p> Take a look at the implementation details <a href="https://github.com/Mijick/Timer/wiki/Timer-State-Observing">here</a>. </p> </p> <img alt="The code illustrates various methods for monitoring the current timer state, including binding, callbacks, combining, and state observation" src="https://github.com/Mijick/Assets/blob/main/Timer/Code/state-observe.png" width="100%"> <!--Why to choose description-->

✅ Why MijickTimer?

<h4>Multiple Apple Platform Support:</h4>
  • iPhone, iPad. Requires iOS 13.0+ .
  • Mac. Requires macOS 10.15+.
  • Apple Vision Pro. Requires visionOS 1.0+.
<h4>Built for Swift 6:</h4>
  • Modern, efficient, and designed for performance.
<h4>All-in-One Timer Solution:</h4>
  • Handles countdowns, count-ups, pausing, resuming and state management seamlessly.
<h4>Versatile Observation:</h4>
  • Choose callbacks, bindings or Combine for the implementation that works best for you.
  • Provides the ability to access the state of a specific timer from any part of the code base.
<h4>It's just a cool library 😎</h4> <!--Documentation-->

🚀 How to use it?

Visit the framework's documentation to learn how to integrate your project with MijickTimer. <br> See for yourself how does it work by cloning project we created

<!--Community-->

🍀 Community

Join the welcoming community of developers on Discord.

<!--Contribution-->

🌼 Contribute

To contribute a feature or idea to MijickTimer, create an issue explaining your idea or bring it up on Discord. <br> If you find a bug, please create an issue. <br> If you would like to contribute, please refer to the Contribution Guidelines.

<!--Sponsorship-->

💜 Sponsor our work

Support our work by becoming a backer.

Related Skills

View on GitHub
GitHub Stars199
CategoryCustomer
Updated12h ago
Forks4

Languages

Swift

Security Score

100/100

Audited on Apr 3, 2026

No findings