Skip to content

iOS 27 updates. - #34

Merged
hiimtmac merged 1 commit into
hiimtmac:mainfrom
mohalibou:main
Sep 11, 2026
Merged

hiimtmac merged 1 commit into
hiimtmac:mainfrom
mohalibou:main

Conversation

@mohalibou

Copy link
Copy Markdown
Contributor

Made some additions in preparation for iOS 27. I should mention that none of these additions come from the official Apple docs. They are taking an unusually long time to update the remaining info. The below changes have been instead taken from the WWDC26 video What's new in Wallet and Apple's new pass-builder Swift package.

extension Pass {
    /// An object that represents a featured action on a pass.
    public struct Action: Codable, Equatable, Hashable, Sendable {
        /// (Required) A unique identifier for the action.
        ///
        /// The identifier needs to be unique within the pass. The system uses it to tell the pass’s actions apart.
        public var identifier: String

        /// (Required) The action type to perform.
        ///
        /// The value describes the intent of the action, such as `membershipBenefits` or `viewMembership`.
        public var type: String

        /// The URL the action opens, if applicable.
        public var url: URL?

        /// An object that represents a featured action on a pass.
        /// - Parameters:
        ///   - identifier: A unique identifier for the action.
        ///   - type: The action type to perform.
        ///   - url: The URL the action opens, if applicable.
        public init(
            identifier: String,
            type: String,
            url: URL? = nil
        ) {
            self.identifier = identifier
            self.type = type
            self.url = url
        }
    }
}
  • There are four new properties inside Pass: featuredActions, logoSymbolName, posterGeneric, and stripColor. (pass-builder evidence)
public struct Pass: Codable, Equatable, Hashable, Sendable {
    //...

    /// An array of featured pass actions.
    public var featuredActions: [Action]?
    
    //...
    
    /// An SF Symbol to display as a logo image.
    public var logoSymbolName: String?
    
    //...
    
    /// An object that contains the information for a poster generic pass.
    public var posterGeneric: PassFields?
    
    //...
    
    /// A color for the strip of the pass, specified as a CSS-style RGB triple, such as rgb(100, 10, 110).
    public var stripColor: PassColor?
    
    //...
}
public struct PassFields: Codable, Equatable, Hashable, Sendable {
    //...
    
    /// An object that represents the fields that display information on the footer of a pass.
    public var footerFields: [PassFieldContent]?
    
    //...
}
  • PassContainer and ImageSize contains the logic for three new image types: artwork, primaryLogo, and secondaryLogo. (pass-builder evidence for image sizes)

  • Pass+Extensions and PassFields+Extensions contain new helpers for poster generic passes, as well as include relevant properties for the other pass helpers.

@mohalibou

mohalibou commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor Author

Looks like Apple decided to update the docs last night. There is an additional change:

  • The Pass.Action type now includes an enum ActionType. (Documentation)
extension Pass {
    public struct Action: Codable, Equatable, Hashable, Sendable {
        //...

        /// (Required) The action type to perform.
        public var type: ActionType
        
        //...
    }
}

extension Pass.Action {
    /// The action a featured action performs.
    public enum ActionType: String, Codable, Equatable, Hashable, CaseIterable, Sendable {
        case viewSchedule
        case watchTrailer
        case listenToMusic
        case call
        case place
        case addToBalance
        case order
        case shop
        case membershipBenefits
        case bookAppointment
        case bookCar
        case bookFlight
        case bookStay
        case viewOffersRewards
    }
}

@hiimtmac hiimtmac left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thank you!

@hiimtmac
hiimtmac merged commit 05e4b73 into hiimtmac:main Sep 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants