Crystal shard for creating signed Apple Passes.
-
Add the dependency to your
shard.yml
:dependencies: passkit: github: red-ant/passkit
-
Run
shards install
Configuration is achieved by specifying paths to various certificates private keys.
# Pass certificate
export SIGNING_CERT=/path/to/cert.pem
# Pass key certificate
export PRIVATE_KEY=/path/to/passkey.pem
# Pass key certificate password (optional)
export PRIVATE_KEY_PASSWORD=purplemonkeydishwasher
# Apple Worldwide Developer Relations Certification Authority certificate
export WWDR_CERT=/path/to/wwdr.pem
require "passkit"
# Create a new pass definition
pass = PassKit::Pass.new(
pass_type_identifier: "pass.com.example",
organization_name: "Willy Wonka",
serial_number: "12345",
team_identifier: "TM123",
description: "The golden ticket",
logo_text: "Willy Wonka inc."
)
# Or ingest a pass.json
pass = PassKit::Pass.from_json(File.read("pass.json"))
# Now generate a signed .pkpass file
pk_pass = PassKit::PKPass.new(pass)
# Add some file or URL
pk_pass.add_file("icon.png", File.read("my_icon.png"))
pk_pass.add_url("http://example.org/icon.png")
# Do something with the generated file
File.write("GoldenTicket.pkpass", pk_pass.to_s)
- Fork it (https://github.com/red-ant/passkit/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request