{"id":25138420,"url":"https://github.com/harshilshah/activityrings","last_synced_at":"2025-10-13T14:08:48.030Z","repository":{"id":56417914,"uuid":"107305092","full_name":"HarshilShah/ActivityRings","owner":"HarshilShah","description":"An attempt to recreate the ring controls in Apple’s Activity app","archived":false,"fork":false,"pushed_at":"2020-04-01T15:07:12.000Z","size":2033,"stargazers_count":109,"open_issues_count":5,"forks_count":11,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-06-28T15:22:51.803Z","etag":null,"topics":["ios","macos","spritekit","swift","tvos","watchos"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HarshilShah.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-17T18:00:01.000Z","updated_at":"2025-04-24T03:12:39.000Z","dependencies_parsed_at":"2022-08-15T18:20:29.943Z","dependency_job_id":null,"html_url":"https://github.com/HarshilShah/ActivityRings","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/HarshilShah/ActivityRings","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarshilShah%2FActivityRings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarshilShah%2FActivityRings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarshilShah%2FActivityRings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarshilShah%2FActivityRings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HarshilShah","download_url":"https://codeload.github.com/HarshilShah/ActivityRings/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HarshilShah%2FActivityRings/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266586905,"owners_count":23952205,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","macos","spritekit","swift","tvos","watchos"],"created_at":"2025-02-08T17:16:12.543Z","updated_at":"2025-10-13T14:08:43.011Z","avatar_url":"https://github.com/HarshilShah.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ActivityRings\n\n[![Version](https://img.shields.io/github/release/HarshilShah/ActivityRings.svg)](https://github.com/HarshilShah/ActivityRings/releases/latest)\n![Package Managers](https://img.shields.io/badge/supports-CocoaPods%20%7C%20Carthage-green.svg)\n![Platforms](https://img.shields.io/cocoapods/p/ActivityRings.svg?style=flat)\n[![License](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/HarshilShah/ActivityRings/blob/master/LICENSE)\n[![Contact](https://img.shields.io/badge/contact-%40HarshilShah1910-3a8fc1.svg)](https://twitter.com/HarshilShah1910)\n\nActivityRings is an attempt to recreate the ring controls in Apple’s Activity app.\n\nThis project is a SpriteKit port of [Max Konovalov](https://github.com/maxkonovalov)’s pure UIKit implementation, [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView).\n\n![Demo](https://raw.githubusercontent.com/HarshilShah/ActivityRings/master/Resources/demo.gif)\n\n## Requirements\n\n- Swift 4.2\n- iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 4.0+\n\n## Installation\n\nActivityRings is available via CocoaPods and Carthage.\n\n### CocoaPods\n\nTo install ActivityRings using [CocoaPods](http://cocoapods.org), add the following line to your Podfile:\n```\npod 'ActivityRings'\n```\n### Carthage\n\nTo install ActivityRings using [Carthage](https://github.com/Carthage/Carthage), add the following line to your Cartfile:\n\n```\ngithub \"HarshilShah/ActivityRings\"\n```\n\n## Usage\n\n### Basics\n\nTo get started, import `ActivityRings`. To display the control, use the `ActivityRingView` class on iOS, macOS, and tvOS, and the `ActivityRingScene` class on watchOS.\n\n### Customisation\n\nThe `ringWidth`, the `startColor`, the `endColor`, and the `backgroundRingColor` can all be customised.\n\n### Progress\n\nThe progress of the ring can be set with or without animation.\n\nTo set the progress without animation, simply update the value of the `progress` variable.\n\nTo animate the progress, use the `animateProgress` method, which accepts two arguments:\n- The desired final progress value\n- The animation duration\n\n## Notes\n\nSome notes on performance:\n- Since this control was written in SpriteKit, it relies heavily on the GPU, and so will not perform well or accurately in the simulator.\n- The initial setup process is somewhat expensive, so animating the progress directly after presenting the view can cause some hiccups. This is being worked on, but in the meantime, delaying the animation by a second or so works around the issue.\n\n## Apps Using *ActivityRings*\n\nFeel free to submit a PR if you’re using this library in your apps.\n\n## Author\n\nWritten by Harshil Shah. You can [find me on Twitter](https://twitter.com/HarshilShah1910).\n\nThe original UIKit implementation was written by [Max Konovalov](https://github.com/maxkonovalov).\n\n## License\n\nActivityRings is available under the MIT license. See the LICENSE.md file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharshilshah%2Factivityrings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharshilshah%2Factivityrings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharshilshah%2Factivityrings/lists"}