Dear Reader,
About Pass Files
Passes are a digital representation of information that might otherwise be printed on small pieces of paper or plastic. They let users take an action in the physical world, in the same way as boarding passes, membership cards, and coupons.
Companion Guide: Wallet Developer Guide
Introducing Wallet
Passes are a digital representation of information that might otherwise be printed on small pieces of paper or plastic. They let users take an action in the physical world. Passes can contain images and a barcode, and you can update passes using push notifications. The pass library contains the user’s passes, and users view and manage their passes using the Wallet app.
This technology consists of three main components:
-
A package format for creating passes.
-
A web service API for updating passes, implemented on your server.
-
An API used by your apps to interact with the user’s pass library.
The PassKit support materials are available in the developer downloads area. They contain fully worked example passes, a command-line tool to help you sign passes during development, and a sample implementation of the web service.
At a Glance
This document covers the file format used by the PassKit framework to describe passes.
Package Structure
Pass files are stored on disk as a zipped package with the pkpass
file extension.
Localized resources are loaded using the standard bundle localization techniques, which are implemented by the NSBundle
class. For more details, see Internationalization and Localization Guide.
The top level of the package contains the following files:
background.png
- The image displayed as the background of the front of the pass.
footer.png
- The image displayed on the front of the pass near the barcode.
icon.png
- The pass’s icon. This is displayed in notifications and in emails that have a pass attached, and on the lock screen.When it is displayed, the icon gets a shine effect and rounded corners.
logo.png
- The image displayed on the front of the pass in the top left.
manifest.json
- A JSON dictionary. Each key is the path to a file (relative to the top level of the bundle) and the key’s value is the SHA-1 hash for that file. Every file in the bundle appears in the manifest, except for the manifest itself and the signature.
pass.json
- A JSON dictionary that defines the pass. Its contents are described in detail in Top-Level Keys.
signature
- A detached PKCS #7 signature of the
manifest.json
file. strip.png
- The image displayed behind the primary fields on the front of the pass.
thumbnail.png
- An additional image displayed on the front of the pass. For example, on a membership card, the thumbnail could be used to a picture of the cardholder.
Understanding the Keys
The pass.json
file contains a dictionary that contains most of the information about the pass.