Apple PassKit

pub package likes popularity pub points

Twitter Follow GitHub followers Bluesky Follow GitHub Sponsors

This is a Flutter binding for Apple's PassKit.

This library allows you to add PkPass files to the users' wallet. It also allows you to read available PkPass files in your users' wallet.

Do you need to deal with PkPass files in your code, consider using passkit and passkit_ui instead. Those do not depend on iOS/macOS and are mostly cross-platform.

What is PassKit?

Passes are a digital representation of information that might otherwise be printed on small pieces of paper or plastic. They let users take an action in the physical world. Passes can contain images and a barcode, and you can update passes using push notifications on iOS.

A PkPass file looks something like this when rendered:

How to use it

final passKit = ApplePassKit();
// first check whether PassKit is available
bool isAvailable = await passKit.isPassLibraryAvailable();
// then check whether you can actually add passes
bool canAddPasses = await passKit.canAddPasses();

// when both of them are true, you can add a pass.
if(isAvailable && canAddPasses) {
    await passKit.addPass(pass);
}

To view all methods, take a look at the API docs.

View your app's passes

Setup your Xcode project as described in the documentation.

After that, use await ApplePassKit().passes() to load your installed passes.

Apple Wallet PassKit docs

Failure to add passes

If you run into problems adding a pass to the wallet, you can try to use 'passkit' which may give you more specific error messages to work with.

Contributors

Thanks a lot to all the awesome contributors:

Contribute to this library, and you'll show up too.

We encourage you to contribute to this library. A good starting point is to look at these good first issues. Take a look at these issues if you're up for a challenge.

Further references

Libraries

apple_passkit