A Swift library that checks for iOS app updates and prompts users to upgrade via localized alerts.
Siren is a Swift library for iOS and tvOS apps that automatically checks for new versions available in the App Store. It alerts users with localized prompts to update their installed app, helping developers ensure users run the latest version. The library supports semantic versioning and offers customizable alert types and presentation rules.
iOS and tvOS developers who want to automate update notifications for their apps without building custom version-checking logic. It's particularly useful for apps distributed via the App Store.
Developers choose Siren for its simplicity—integration requires just two lines of code—and its robust feature set, including extensive localization, device compatibility checks, and flexible alert customization. It's a battle-tested solution with a long history, originally ported from the popular Harpy library.
Notify users when a new version of your app is available and prompt them to upgrade.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Can be set up with just two lines of code in AppDelegate or SceneDelegate, as demonstrated in the README's implementation examples.
Provides pre-localized update messages for over 40 languages, with options to force a specific language, reducing internationalization work.
Uses semantic versioning and checks device iOS compatibility to prevent false positives, ensuring alerts only show for compatible updates.
Supports three alert types (forced, optional, skippable) and customizable presentation rules, allowing fine-grained control over user prompts.
The creator stated in 2021 that they will not be proactively adding features, which may impact long-term support and adaptation to new iOS APIs or Swift versions.
Siren can interfere with Apple's phased rollouts, requiring manual configuration like setting a delay or remote disabling, as noted in the App Submission section.
Only works for apps distributed via the official App Store, making it unsuitable for beta testing via TestFlight or other distribution channels.