Swiftpack.co - Package - AvdLee/Poes


A Swift command-line tool to easily send push notifications to the iOS simulator.

Twitter: @twannl

Poes helps you with:

  • ☑ Generating a JSON payload for push notifications
  • ☑ Sending and testing push notifications in the simulator


  • Xcode 11.4 beta 1 and up


$ poes --help
OVERVIEW: A Swift command-line tool to easily test push notifications to the
iOS simulator

USAGE: poes <subcommand>

  -h, --help              Show help information.

  send                    Send a push notification to an app installed on the
                          iOS Simulator
$ poes send --help
OVERVIEW: Send a push notification to an app installed on the iOS Simulator

USAGE: poes send <bundle-identifier> [--title <title>] [--body <body>] [--badge <badge>] [--is-mutable] [--verbose]

  <bundle-identifier>     The bundle identifier of the app to push to 

  -t, --title <title>     The title of the Push notification (default: Default
  -b, --body <body>       The body of the Push notification (default: Default
  -b, --badge <badge>     The number to display in a badge on your app’s icon 
  -i, --is-mutable        Adds the mutable-content key to the payload 
  --verbose               Show extra logging for debugging purposes 
  -h, --help              Show help information.

The bundle identifier is mandatory, all others have a default value. The following command can be enough to send out a notification:

$ poes send com.wetransfer.app --verbose
Generated payload:

  "aps" : {
    "alert" : {
      "title" : "Default title",
      "body" : "Default body"
    "mutable-content" : false

Sending push notification...
Push notification sent successfully

Installation using Mint

You can install Poes using Mint as follows:

$ mint install AvdLee/Poes


  • cd into the repository
  • run swift package generate-xcodeproj (Generates an Xcode project for development)
  • Run the following command to try it out:
swift run Poes --help


Why is it called "Poes"?

Poes is a Dutch word for a female cat. The pronunciation is the same as "Push" and pushing notifications is what we're doing here!

Why is there a PoesCore framework?

This makes it really easy to eventually create a Mac App with a UI around it 🚀

How do I create a Swift Package myself?

Check out my blog post Swift Package framework creation in Xcode.

Can I learn more about testing Push Notifications on the iOS simulator?

Yes! I've written a detailed blog post about this: Testing push notifications on the iOS simulator


Stars: 321


Used By

Total: 0


2.0.0 - 2020-03-02 09:27:27

  • Make use of the new ArgumentParser framework (#13) via @AvdLee
  • Merge release 1.1.0 into master (#11)

1.1.0 - 2020-02-14 07:29:41

  • Add support for badge counts (#4)

1.0.0 - 2020-02-10 11:01:38

  • Initial version (#1) via @AvdLee