Swiftpack.co - theblixguy/DynamicIslandUtilities as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by theblixguy.
theblixguy/DynamicIslandUtilities 0.1.0
A collection of utilities that provides functionality around the Dynamic Island on the iPhone 14 Pro/Max.
⭐️ 85
🕓 1 year ago
.package(url: "https://github.com/theblixguy/DynamicIslandUtilities.git", from: "0.1.0")


A collection of utilities that provides functionality around the Dynamic Island on the iPhone 14 Pro/Max.

I will be adding more utilities to this package in the near future.



A type that provides the size, origin, rect and some other information related to the Dynamic Island. For example, you can do:

let size = DynamicIsland.size

to get the size of the Dynamic Island cutout. This size is the same on both the iPhone 14 Pro and Max.

Warning At the moment, this provides the static size of the island, not the dynamic size (the island will expand if there's a live activity running).


A simple object that provides access to a progress indicator around the Dynamic Island cutout. To use it, simply access DynamicIsland.progressIndicator from anywhere to control the indicator.

DynamicIsland.progressIndicator.progressColor = .green
DynamicIsland.progressIndicator.isProgressIndeterminate = false

// Manual progress

doFixedWork { currentProgress in 
  if currentProgress == 100 {
  } else {
    DynamicIsland.progressIndicator.progress = currentProgress

/// Indeterminate progress

doSomeWorkThatMayFinishLater { result in

In order to access this property, you need to first check DynamicIsland.isAvailable (this is enforced at runtime), which also nudges you to provide fallback logic:

if DynamicIsland.isAvailable {
  // Show a cool progress indicator around the Dynamic Island
} else {
  // Fallback to a default indicator

Note By default, the progress indicator is added to the key window (or the first window of the first scene). If you want to change that, set DynamicIsland.progressIndicator.window to a UIWindow of your choice.





  • Swift Package Manager
  • Xcode 14
  • iOS 11 to import the package, iOS 16 to actually use it (this is obvious!)


Stars: 85
Last commit: 41 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

Re-do API
1 year ago
  • Re-do APIs so the progress indicator is available directly from the DynamicIsland namespace.

Now, instead of having to subclass a ViewController, you can just use DynamicIsland.progressIndicator from anywhere to control it. This means you can also use it from SwiftUI!

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics