
SVProgressHUD
A simple progress and status overlay for iOS and tvOS apps, written in Objective-C.
- Stars
- 12.4k
- Forks
- 2.7k
- Licence
- MIT
- Language
- Objective-C
- Last update
- 8 months ago
- Type
- Library
What it is
SVProgressHUD is a library that adds a small on-screen overlay to an iOS or tvOS app to show that a task is running, how far along it is, or whether it succeeded or failed. Developers call a few simple methods such as show, dismiss, or showSuccessWithStatus, and the library handles the display. It is meant for short waits where the user needs to wait before moving on.
- Show a spinner while a login or save request completes, then dismiss it
- Display a progress bar with showProgress while a file uploads
- Show a success or error message with an icon after an action finishes
- Play haptic feedback on success, warning, or error if the device supports it
Great for
- iOS developers who need a quick loading indicator for a blocking task
- Developers maintaining Objective-C codebases that want a drop-in HUD
- Apps that show brief success or error messages after an action
- Teams that want to customize the HUD's colors, fonts, and timing app-wide
Not ideal for
- Background refreshes like pull-to-refresh or infinite scrolling, which the README specifically says not to use it for
- Developers who need a non-Apple platform, since the README covers only iOS and tvOS
- Projects that want a fully SwiftUI-native indicator, as the README describes UIKit-style customization and does not mention SwiftUI
How to get it
- 1
Install with a package manager
You'll need: Xcode · Swift tools version 5.3 or newer for Swift Package Manager
Add to a CocoaPods Podfile, then install
pod installClone the repository
git clone https://github.com/SVProgressHUD/SVProgressHUD.git - 2
Run it
- Add SVProgressHUD to your project using Swift Package Manager or CocoaPods.
- Call SVProgressHUD.show() in Swift or [SVProgressHUD show] in Objective-C before a task starts.
- Run the task on a background queue.
- Call SVProgressHUD.dismiss() on the main queue when the task finishes.
- 3
Get the most out of it
- Use showSuccessWithStatus, showInfoWithStatus, or showErrorWithStatus to end a task with a clear message
- Set custom colors with setForegroundColor and setBackgroundColor, which switch the HUD to a custom style
- Enable haptic feedback with setHapticsEnabled on supported devices
- Listen for the four show/dismiss notifications to react when the HUD appears or disappears
- Use the sample project in /Demo to try the available options
Downloads
Strengths
- Simple API: show and dismiss calls cover most common uses
- Supports Swift Package Manager, CocoaPods, Carthage, and manual install
- Customizable through UI_APPEARANCE_SELECTOR, with light, dark, and automatic styles
Trade-offs
- The README is truncated and does not list every property, so the API docs in SVProgressHUD.h are needed for details
- Haptic feedback is only available on iPhone 7 and newer, per the README
- Written in Objective-C; the README says it works in Swift but adds bridging steps for manual installs
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| SVProgressHUD (this) | 12.4k | Library | beginner | 8 months ago | iOS developers who need a quick loading indicator for a blocking task |
| MBProgressHUD | 15.9k | Library | intermediate | 2.2 years ago | iOS developers who need a simple loading indicator |
| SwifterSwift | 15.3k | Library | beginner | 4 days ago | Swift developers building iOS or macOS apps who want common helper methods ready to use |
| FSCalendar | 10.6k | Library | intermediate | 2.2 years ago | iOS developers who need a calendar or date-picker view in their app |
| SDWebImage | 25.6k | Library | intermediate | 7 months ago | iOS or macOS app developers who need to show remote images in lists or grids |
| Eureka | 11.8k | Library | intermediate | 2.1 years ago | iOS developers building form-heavy screens in Swift |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.