SlideShare a Scribd company logo
1 of 38
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

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 

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