1. Your Pass to
Passbook
Presented by: Jeremy Curcio
Twitter: @Jeremy1026
Web: www.jcurcio.com
Email: jcurcio@1026development.com
2. What Is Passbook?
❖ Introduced in iOS 6
❖ Allows users to digitally manage items that
are traditionally physical in nature.
❖ Event Tickets
❖ Coupons
❖ Store Loyalty Cards
❖ Boarding Passes
3. Who Is Using Passbook?
❖ Amtrak ❖ LivingSocial
❖ Delta Airlines ❖ Starbucks
❖ Fandango ❖ Many others
4. Pass Styles
❖ Eachpass style
serves its own
purpose and has
unique
characteristics.
❖ Each pass has a
unique layout and
design
❖ Makes finding specific
types of passes easier
5. Coupon
❖ Coupons
❖ Vouchers
❖ Special discount
offers
6. Event Ticket
❖ Used to gain entry to
events
❖ Concerts
❖ Movie Tickets
❖ Sporting Events
7. Store Card
❖ Loyalty cards
❖ Discount cards
❖ Point cards
❖ Gift cards
11. What Goes Into a Pass?
❖A pass is very similar to the application
bundle
❖ JSON File
❖ pass.json
❖ Contains all settings for the Pass
❖ Icons
❖ Images
❖ Localizations
❖ Signature
12. Delivering A Pass
❖ Passes can be distributed via:
❖ Email
❖ On the web through Safari
❖ Requires OS X 10.8.2+ or iOS 6+
❖ Using the MIME Type:
application/vnd.apple.pkpass
❖ In an App
❖ Via PassKit
13. Creating A Pass
❖ Decidewhat will be the primary purpose of
the pass
❖ Create the JSON
❖ Create applicable images
❖ Sign the pass
14. Deciding The
Primary Purpose
Primary Purpose
❖ Plane ticket?
❖ Boarding Pass
❖ 10% Your Lunch Order?
❖ Coupon
❖ Tickets to see “Monsters University”
❖ Event Ticket
17. Pass.json
❖ "formatVersion" : 1
❖ 1 for now, since passes have only one format currently
❖ This may change in the future if Apple adds or removes
features to future passes
❖ "passTypeIdentifier" :
"pass.com.jcurcio.monsters"
❖ Set in iOS Provisioning portal
❖ We will look at this later
18. Pass.json (Cont.)
❖ "serialNumber" : "mon_001"
❖ Unique to the pass, can be anything so long as it is a
string
❖ "teamIdentifier" : "225CZYLDG5"
❖ Unique for each developer
❖ Assigned by Apple
❖ Same as your identifier for apps
❖ "relevantDate" : "2013-06-21T13:00-20:00"
❖ Used to put the pass on the home screen at a relevant
time
❖ W3C Date Format
19. Pass.json (Cont.)
❖
"MON_001", "format" : "PKBarcodeFormatPDF417", "messageEncoding"
❖ Tell Apple what you want the barcode to be; Apple makes you
a barcode
❖ Formats Supported
❖ PDF147
❖ Aztec
❖ QR
20. Pass.JSON (Cont.)
❖ "organizationName" : "Movie Theater 26"
❖ Name of the company/location the ticket is for
❖ "description" : "Admit One"
❖ What the ticket is for
❖ "foregroundColor" : "rgb(255, 255, 255)"
❖ Color of main text on the pass
❖ "logoText" : "Movie Theater 26"
❖ Text directly to the right of the logo at the top of the pass
21. Pass.json (Cont.)
❖ "eventTicket" :
❖ Name of array specific to the type of pass
❖ "primaryFields" :
❖ Dictionary containing key, label, value for the primary
fields on the pass.
❖ Things like the location the movie is playing or the title of
the movie would go here
❖ Key has to be unique
23. Signing The Pass
❖ What we need to sign our pass
❖ Pass Type Identifier
❖ Registered on the developer portal
❖ Signing Certificate
❖ Created in the developer portal
❖ Stored in Keychain
34. More Interesting Things
❖ Passes can have relevancies
❖ Relevancy allows the pass to appear on the home
screen at a specific time or when the device is in a
specific location
❖ Passes can be updated
❖ By push notifications
❖ By in-app updates (PassKit)
35. Wrapping Up
❖ Design tips
❖ Bright colors
❖ Use relevant pass styles
❖ Solid logos look best
❖ Logos are not automatically engraved
❖ Don’t overload on information
❖ Keep It Simple
38. Thank You!
Your Pass to
Passbook
Presented by: Jeremy Curcio
Twitter: @Jeremy1026
Web: www.jcurcio.com
Email: jcurcio@1026development.com
Hinweis der Redaktion
Explain passbook, introduced at WWDC 12’ as part of iOS6
Store card rounded, usually with background image Generic rounded, usually no background image Event ticket notched in top center Coupon tear off Boarding pass notched on sides