Introducing Armchair: an App Review Manager in Swift

2 minute read

I just released up a helpful little open-source tool called Armchair. Armchair is a simple yet powerful App Review Manager for iOS and OSX written in Swift. It is based on UAAppReviewManager and Appirater but completely rewritten for apps that want to benefit from the power of this new language.

So what makes UAAppReviewManager better than Appirater?

Appirater is great and has been used by many, many developers since its introduction in 2009. It has been updated throughout the years and suits the need of many people, yet leaves a ton left to be desired for the experienced developer. Appirater is:

  • Not available in Swift
  • Only available for iOS
  • Mixes a bunch of class methods and instance methods unnecessarily
  • Relies on a confusing mixture of MACROS and runtime configs for setup when either way would be better on its own
  • Utilizes the ancient Delegate pattern for callbacks in the age of Blocks and Closures
  • Is not able to be disabled on minor patch updates
  • No iTunes affiliate support
  • No way to prevent dual prompts for the same app and version on two separate devices
  • Makes the implementer write more code for lifecycle events

I started addressing these issues in a fork of Appirater, but quickly realized that the entire project could be re-written in a better way to address the above points. Armchair is:

  • Using a full Swift implemention
  • Available for iOS and Mac
  • Runs as a Singleton, with Class level, pass-through convenience methods.
  • Every aspect is configurable at runtime through an established API.
  • Uses Closures for all event callbacks and notifications.
  • Allows developers to disable the prompt easily on minor updates
  • Allows iTunes affiliate codes to be used.
  • Allows you to prevent prompts for the same app and version on two separate devices
  • Makes the implementer write less code by listening to notifications of lifecycle events

Once all these additions, alteration and features were added, it was too much to push back up to Appirater, so Armchair was born. That being said, some of the existing code logic, methods, and language translations (over 32 of them!) are used from Appirater and due credit needs to be given. Armchair could not have existed without it. Thank you!

Check out Armchair on Github and let me know what you think!

I run a small software company called Urban Apps. It pays the bills so I can take the time to write helpful open-sourced software like Armchair. If you found this page helpful at all, I would really appreciate it if you would check out my iPhone/iPad Apps on the iTunes App Store.

Was this page helpful for you? Buy me a slice of 🍕 to say thanks!