Skip to content
/ Poes Public

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

License

Notifications You must be signed in to change notification settings

AvdLee/Poes

Repository files navigation

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

Requirements

  • Xcode 11.4 beta 1 and up

Usage

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

USAGE: poes <subcommand>

OPTIONS:
  -h, --help              Show help information.

SUBCOMMANDS:
  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]

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

OPTIONS:
  -t, --title <title>     The title of the Push notification (default: Default
                          Title)
  -b, --body <body>       The body of the Push notification (default: Default
                          Body)
  -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

Development

  • 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

FAQ

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

About

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

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published