SlideShare a Scribd company logo
1 of 38
Download to read offline
Your Pass to
  Passbook
   Presented by: Jeremy Curcio
        Twitter: @Jeremy1026
        Web: www.jcurcio.com
Email: jcurcio@1026development.com
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
Who Is Using Passbook?


❖ Amtrak             ❖ LivingSocial

❖ Delta   Airlines   ❖ Starbucks

❖ Fandango           ❖ Many   others
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
Coupon


❖   Coupons
❖   Vouchers
❖   Special discount
    offers
Event Ticket

❖   Used to gain entry to
    events
    ❖   Concerts
    ❖   Movie Tickets
    ❖   Sporting Events
Store Card


❖   Loyalty cards
❖   Discount cards
❖   Point cards
❖   Gift cards
Boarding Pass

❖   Transit tickets
    ❖   Air travel
    ❖   Trains
    ❖   Ferries
    ❖   Buses
Generic


❖   Anything else that
    doesn’t quite fit into
    one of the above
    categories, perhaps a
    gym membership card
Pass Composition
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
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
Creating A Pass

❖ Decidewhat will be the primary purpose of
 the pass
❖ Create   the JSON
❖ Create   applicable images
❖ Sign   the pass
Deciding The
          Primary Purpose
          Primary Purpose
❖ Plane ticket?

 ❖   Boarding Pass

❖ 10%   Your Lunch Order?
 ❖   Coupon

❖ Tickets   to see “Monsters University”
 ❖   Event Ticket
Create The JSON
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
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
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
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
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
Pass.json (Cont.)

❖ "secondaryFields"    :
 ❖   Same as primaryFields

❖ "backFields"   :
 ❖   Appears on the back of the card
 ❖   Optional
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
Pass Type Identifier
❖   developer.apple.com/ios/manage/passtypeids/
Signing The Pass

❖ Passes can be signed via multiple methods
 including:
 ❖   Desktop (Terminal)
 ❖   Web (Ruby, PHP, etc.)
 ❖   PassKit
Signing The Pass


❖ https://developer.apple.com/passbook/

❖ Example    Passes and Sample Code
 ❖   signpass.xcodeproj
Using Signpass
Using Signpass
We have a Pass!
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)
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
Any Questions?



But seriously, any questions?
         I hope not!
Additional Resources
❖ http://developer.apple.com/passbook

❖ WWDC    2o12 Session Video 301:
               Introducing Passbook
 Part 1
❖ WWDC    2o12 Session Video 309:
               Introducing Passbook
 Part 2
Thank You!

 Your Pass to
  Passbook
   Presented by: Jeremy Curcio
        Twitter: @Jeremy1026
        Web: www.jcurcio.com
Email: jcurcio@1026development.com

More Related Content

More from Jeremy Curcio

Playgrounds: A Swift Introduction
Playgrounds: A Swift IntroductionPlaygrounds: A Swift Introduction
Playgrounds: A Swift IntroductionJeremy Curcio
 
Human Interface Guidelines: For Dummies - Open West
Human Interface Guidelines: For Dummies - Open WestHuman Interface Guidelines: For Dummies - Open West
Human Interface Guidelines: For Dummies - Open WestJeremy Curcio
 
Playgrounds swift introduction
Playgrounds swift introductionPlaygrounds swift introduction
Playgrounds swift introductionJeremy Curcio
 
Human Interface Guidelines: For Dummies
Human Interface Guidelines: For DummiesHuman Interface Guidelines: For Dummies
Human Interface Guidelines: For DummiesJeremy Curcio
 
Introduction to FPDF - DC PHP
Introduction to FPDF - DC PHPIntroduction to FPDF - DC PHP
Introduction to FPDF - DC PHPJeremy Curcio
 
Introduction to FPDF
Introduction to FPDFIntroduction to FPDF
Introduction to FPDFJeremy Curcio
 

More from Jeremy Curcio (6)

Playgrounds: A Swift Introduction
Playgrounds: A Swift IntroductionPlaygrounds: A Swift Introduction
Playgrounds: A Swift Introduction
 
Human Interface Guidelines: For Dummies - Open West
Human Interface Guidelines: For Dummies - Open WestHuman Interface Guidelines: For Dummies - Open West
Human Interface Guidelines: For Dummies - Open West
 
Playgrounds swift introduction
Playgrounds swift introductionPlaygrounds swift introduction
Playgrounds swift introduction
 
Human Interface Guidelines: For Dummies
Human Interface Guidelines: For DummiesHuman Interface Guidelines: For Dummies
Human Interface Guidelines: For Dummies
 
Introduction to FPDF - DC PHP
Introduction to FPDF - DC PHPIntroduction to FPDF - DC PHP
Introduction to FPDF - DC PHP
 
Introduction to FPDF
Introduction to FPDFIntroduction to FPDF
Introduction to FPDF
 

Recently uploaded

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 

Recently uploaded (20)

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 

You Pass to Passbook

  • 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
  • 8. Boarding Pass ❖ Transit tickets ❖ Air travel ❖ Trains ❖ Ferries ❖ Buses
  • 9. Generic ❖ Anything else that doesn’t quite fit into one of the above categories, perhaps a gym membership card
  • 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
  • 15.
  • 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
  • 22. Pass.json (Cont.) ❖ "secondaryFields" : ❖ Same as primaryFields ❖ "backFields" : ❖ Appears on the back of the card ❖ Optional
  • 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
  • 24. Pass Type Identifier ❖ developer.apple.com/ios/manage/passtypeids/
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. Signing The Pass ❖ Passes can be signed via multiple methods including: ❖ Desktop (Terminal) ❖ Web (Ruby, PHP, etc.) ❖ PassKit
  • 30. Signing The Pass ❖ https://developer.apple.com/passbook/ ❖ Example Passes and Sample Code ❖ signpass.xcodeproj
  • 33. We have a Pass!
  • 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
  • 36. Any Questions? But seriously, any questions? I hope not!
  • 37. Additional Resources ❖ http://developer.apple.com/passbook ❖ WWDC 2o12 Session Video 301: Introducing Passbook Part 1 ❖ WWDC 2o12 Session Video 309: Introducing Passbook Part 2
  • 38. Thank You! Your Pass to Passbook Presented by: Jeremy Curcio Twitter: @Jeremy1026 Web: www.jcurcio.com Email: jcurcio@1026development.com

Editor's Notes

  1. Explain passbook, introduced at WWDC 12’ as part of iOS6
  2. 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
  3. explain fields, header, primary, additional, barcode
  4. Header Fields, Primary Fields, Secondary Fields, Barcode Top is automatic and un-editable by developer Bottom are back fields
  5. Images such as logos, thumbnails, backgrounds Signature, signed with certificate
  6. Passes can be delivered in 1 of 3 ways.
  7. This looks like a mess. Not that bad really. Let’s look a bit closer at the JSON
  8. will talk about passtypeid later
  9. Serial number unique to each passid
  10. 2d barcodes, 1d (store barcodes) don’t read well on a screen, be sure to test with actual scanner before deploying
  11. Can have additional primary fields
  12. Can have additional secondary and back fields as well Use the back fields for longer verbose
  13. Certificate is stored in keychain, just like app signing certificates
  14. Found in iOS Provisioning portal Select pass type ids then new pass type id
  15. Create a pass type id, description is internal. identifier is used in the pass.json file
  16. configure pass id to get the certificate
  17. generate a CSR just like when requesting a developer certificate
  18. if everything went right, you’ll be able to download your completed certificate. usually takes about a minute to generate
  19. we will focus on doing it in terminal for todays purpose
  20. apple has good examples of passes and how to sign them
  21. we will use the signpass utility provided by apple by using terminal
  22. if everything went right we should see the hashes for each file used and we have successfully made a pass
  23. lets go to the movies!
  24. relevancies are also set in the json, additional parameters required in the json to allow for updates
  25. apple suggestions
  26. part 2 focuses on using passkit, which we didn’t cover tonight