View in English

  • Apple Developer
    • 시작하기

    시작하기 탐색

    • 개요
    • 알아보기
    • Apple Developer Program

    알림 받기

    • 최신 뉴스
    • Hello Developer
    • 플랫폼

    플랫폼 탐색

    • Apple 플랫폼
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    피처링

    • 디자인
    • 배포
    • 게임
    • 액세서리
    • 웹
    • 홈
    • CarPlay
    • 기술

    기술 탐색

    • 개요
    • Xcode
    • Swift
    • SwiftUI

    피처링

    • 손쉬운 사용
    • 앱 인텐트
    • Apple Intelligence
    • 게임
    • 머신 러닝 및 AI
    • 보안
    • Xcode Cloud
    • 커뮤니티

    커뮤니티 탐색

    • 개요
    • Apple과의 만남 이벤트
    • 커뮤니티 주도 이벤트
    • 개발자 포럼
    • 오픈 소스

    피처링

    • WWDC
    • Swift Student Challenge
    • 개발자 이야기
    • App Store 어워드
    • Apple 디자인 어워드
    • 문서

    문서 탐색

    • 문서 라이브러리
    • 기술 개요
    • 샘플 코드
    • 휴먼 인터페이스 가이드라인
    • 비디오

    릴리즈 노트

    • 피처링 업데이트
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • 다운로드

    다운로드 탐색

    • 모든 다운로드
    • 운영 체제
    • 애플리케이션
    • 디자인 리소스

    피처링

    • Xcode
    • TestFlight
    • 서체
    • SF Symbols
    • Icon Composer
    • 지원

    지원 탐색

    • 개요
    • 도움말
    • 개발자 포럼
    • 피드백 지원
    • 문의하기

    피처링

    • 계정 도움말
    • 앱 심사 지침
    • App Store Connect 도움말
    • 새로 추가될 요구 사항
    • 계약 및 지침
    • 시스템 상태
  • 빠른 링크

    • 이벤트
    • 뉴스
    • 포럼
    • 샘플 코드
    • 비디오
 

비디오

메뉴 열기 메뉴 닫기
  • 컬렉션
  • 전체 비디오
  • 소개

더 많은 비디오

  • 소개
  • 요약
  • 코드
  • 지갑의 새로운 기능

    Apple 지갑 패스용 최신 디자인 업데이트와 개발자 도구를 살펴보세요. 풍부하고 생동감 넘치는 디자인을 위한 멋진 새 스타일로 패스를 새롭게 디자인해 보세요. 새로운 바코드 형식과 유연한 패스 동작 API를 알아보세요. 대규모로 패스를 디자인, 맞춤화, 배포하는 과정을 간소화하는 강력한 도구인 Pass Designer와 Pass Builder를 만나 보세요.

    챕터

    • 0:01 - Introduction
    • 0:40 - Poster Generic
    • 2:36 - Barcodes
    • 4:27 - Featured actions
    • 5:46 - Developer tools
    • 5:47 - Pass Designer
    • 10:40 - Pass Builder
    • 13:50 - Personalizing a pass template
    • 15:01 - Next steps

    리소스

    • Pass Builder
    • Wallet
      • HD 비디오
      • SD 비디오

    관련 비디오

    WWDC25

    • 지갑의 새로운 기능
    • Swift 및 Java 상호운용성 살펴보기

    WWDC24

    • 지갑 및 Apple Pay의 새로운 기능
  • 비디오 검색…
    • 1:41 - Adopting Poster Generic

      // Adopting Poster Generic
      "posterGeneric": {
        "headerFields": [
          {
            "key": "memberID",
            "label": "Guest No.",
            "value": "102035"
          }
        ],
        "footerFields": [
          {
            "key": "membershipType",
            "value": "Family Pass"
          }
        ]
      }
    • 2:11 - Adopting Poster Generic with Generic fallback

      // Adopting Poster Generic and supporting Generic on iOS 26 and earlier
      "posterGeneric": {
        "headerFields": [
          {
            "key": "memberID",
            "label": "Guest No.",
            "value": "102035"
          }
        ],
        "footerFields": [
          {
            "key": "membershipType",
            "value": "Family Pass"
          }
        ]
      },
      "generic": {
        "headerFields": [
          {
            "key": "memberID",
            "label": "Guest No.",
            "value": "102035"
          }
        ],
        "footerFields": [
          {
            "key": "membershipType",
            "value": "Family Pass"
          }
        ]
      }
    • 2:52 - Barcodes: Add new types for iOS 27

      // Adopting new barcode types
      "barcodes": [
        {
          "format": "PKBarcodeFormatCodabar"
          "message": "…"
          "messageEncoding": "…"
        }
      ]
    • 3:37 - Barcodes: Supporting iOS 26 and earlier

      // Adopting new barcode types and supporting iOS 26 and earlier.
      "barcodes": [
        {
          "format": "PKBarcodeFormatCodabar"
          "message": "123456789"
          "messageEncoding": "iso-8859-1"
        },
        {
          "format": "PKBarcodeFormatQR"
          "message": "123456789"
          "messageEncoding": "iso-8859-1"
        }
      ]
    • 4:48 - Featured actions

      // Featured actions
      "featuredActions": [
        {
          "identifier": "my-offer-id",
          "type": "membershipBenefits",
          "url": "www.example.com/offers"
        }
      ]
    • 10:56 - Package.swift

      // Package.swift
      
      import PackageDescription
      
      let package = Package(
          name: "MyServer",
          products: [
                .library(
                    name: "MyServer",
                    targets: ["MyServer"]
              ),
          ],
          dependencies: [
              .package(path: "./path/to/PassBuilder")
          ],
          targets: [
              .target(
                  name: "MyServer",
                  dependencies: [
                      .product(name: "PassBuilder", package: "PassBuilder")
                  ]
              ),
              …
          ]
    • 11:05 - CreatePass.swift

      // CreatePass.swift
      
      import PassBuilder
      
      func createPass(for doggo: MemeberModel) async throws -> URL {
          var package = PassPackage(url: "template.pkpasstemplate")
          
          package.pass.fields.setValue(doggo.name, forKey: "DOG_NAME")
          package.pass.fields.setValue(doggo.favoriteToy, forKey: "LOVES")
          package.pass.fields.setValue(doggo.id, forKey: "MEMBER_ID")
        
          package.background = PassImage(url: doggo.photoURL)
        
          package.pass.barcodes = [
              Pass.Barcode(message: doggo.id, format: .pdf417)
          ]
        
          package.featuredActions = [
              Pass.Action(id: "action-1", type: "viewMembership", url: doggo.membershipURL) 
          ]
          …
      }
    • 13:11 - CreatePass.swift

      // CreatePass.swift
      
      import PassBuilder
      
      func createPass(for doggo: MemeberModel) async throws -> URL {
          var package = PassPackage(url: "template.pkpasstemplate")
          
          package.pass.fields.setValue(doggo.name, forKey: "DOG_NAME")
          package.pass.fields.setValue(doggo.favoriteToy, forKey: "LOVES")
          package.pass.fields.setValue(doggo.id, forKey: "MEMBER_ID")
        
          package.background = PassImage(url: doggo.photoURL)
        
          package.pass.barcodes = [
              Pass.Barcode(message: doggo.id, format: .pdf417)
          ]
        
          package.featuredActions = [
              Pass.Action(id: "action-1", type: "viewMembership", url: doggo.membershipURL) 
          ]
      
          let passCertificate = try PassCertificate(url: "pass.p12", password: "s3cr3t")
          let wwdrCertificate = try PassCertificate(url: "wwdr.cer")
        
          let signer = PassSigner(
              passCertificate: passCertificate,
              wwdrCertifiate: wwdrCertificate
          )
        
          let destinationURL = URL(string: "/www/passes/" + doggo.id)
          try signer.signPass(package, writingTo: destinationURL)
        
          return destinationURL
      }
    • 0:01 - Introduction
    • Since their introduction, Wallet passes have become an essential part of how people move through their day. From picking up a morning coffee — to tapping through transit gates — to checking in and boarding a flight — all without ever handing over a physical card. Passes help people move through the world faster, more privately, and more securely.

    • 0:40 - Poster Generic
    • In iOS 27, Wallet is introducing a brand new pass style called Poster Generic. The pass face consists of a background image, a primary logo, header fields, primary fields, a footer field, and a barcode (if provided). On iOS 26 and earlier, include the Generic pass style in your `pass.json` for backwards compatibility.

    • 2:36 - Barcodes
    • In iOS 27, Wallet passes support four new barcode types: EAN-13, Code 39, Codabar, and Interleaved 2 of 5 (ITF). These are specified using the existing `Barcode` object and `barcodes` array in your `pass.json`. On iOS 26 and earlier, provide support barcode type, such as a QR code.

    • 4:27 - Featured actions
    • In iOS 27, Wallet passes can provide actions for all pass styles, called featured actions. In the top-level of your `pass.json`, define the `featuredActions` key, which takes an array of `Action` objects. Each action is defined as a unique ID, the action type, and a value, such as a URL. Each pass can contain up to 2 featured actions, in priority order.

    • 5:46 - Developer tools
    • We're introducing a brand new suite of developer tools for Mac and server platforms, making it easier than ever to design, personalize, and build great passes with Pass Designer and Pass Builder.

    • 5:47 - Pass Designer
    • Pass Designer is a WYSIWYG editor, giving you a true-to-iOS rendering of your pass as you build it.

    • 10:40 - Pass Builder
    • Pass Builder takes the pass templates created in Pass Designer, and allows you to personalize, sign and validate your passes. Pass Builder can also be used from other programming languages.

    • 13:50 - Personalizing a pass template
    • The swift-java project can generate native Java bindings for the Swift API, allowing you to invoke Pass Builder from the Java runtime. We're also making protobuf definitions of the Pass Package format available, allowing you to generate type-safe models in your preferred programming language. You can then generate a customization message, and invoke the `buildpass` command line executable to personalize and sign your pass.

    • 15:01 - Next steps
    • Check out Pass Designer. Use Pass Designer to experiment with the new Poster Generic style — and check if it's the right fit for your pass. If you plan on adopting any of the new barcode types, make a plan for providing graceful fallbacks. And take a moment to identify the most meaningful and relevant actions for your customers, then bring them to life with featured actions.

Developer Footer

  • 비디오
  • WWDC26
  • 지갑의 새로운 기능
  • 메뉴 열기 메뉴 닫기
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    메뉴 열기 메뉴 닫기
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    메뉴 열기 메뉴 닫기
    • 손쉬운 사용
    • 액세서리
    • Apple Intelligence
    • 앱 확장 프로그램
    • App Store
    • 오디오 및 비디오(영문)
    • 증강 현실
    • 디자인
    • 배포
    • 교육
    • 서체(영문)
    • 게임
    • 건강 및 피트니스
    • 앱 내 구입
    • 현지화
    • 지도 및 위치
    • 머신 러닝 및 AI
    • 오픈 소스(영문)
    • 보안
    • Safari 및 웹(영문)
    메뉴 열기 메뉴 닫기
    • 문서(영문)
    • 튜토리얼
    • 다운로드
    • 포럼(영문)
    • 비디오
    메뉴 열기 메뉴 닫기
    • 지원 문서
    • 문의하기
    • 버그 보고
    • 시스템 상태(영문)
    메뉴 열기 메뉴 닫기
    • Apple Developer
    • App Store Connect
    • 인증서, 식별자 및 프로파일(영문)
    • 피드백 지원
    메뉴 열기 메뉴 닫기
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(영문)
    • Mini Apps Partner Program
    • News Partner Program(영문)
    • Video Partner Program(영문)
    • Security Bounty Program(영문)
    • Security Research Device Program(영문)
    메뉴 열기 메뉴 닫기
    • Apple과의 만남
    • Apple Developer Center
    • App Store 어워드(영문)
    • Apple 디자인 어워드
    • Apple Developer Academy(영문)
    • WWDC
    최신 뉴스 읽기.
    Apple Developer 앱 받기.
    Copyright © 2026 Apple Inc. 모든 권리 보유.
    약관 개인정보 처리방침 계약 및 지침