mvodya / passes-rs

Rust library for generate Apple Wallet Passes for iOS, WatchOS, MacOS.

Home Page:https://crates.io/crates/passes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Passes

A Rust library for generating PassKit passes, featuring:

  • Read & parse .pkpass files
  • Build & make passes by using library API
  • Sign passes with certificate and compress to .pkpass
  • Change field values is pass by key name
  • Supported semantic tags for pass & fields
  • All features of Wallet Passes standard represented in library

Documentation:

Usage

Add this to your Cargo.toml:

[dependencies]
passes = "0.1.0"

Example

For building simple pass:

// Creating pass
let pass = PassBuilder::new(PassConfig {
    organization_name: "Test organization".into(),
    description: "Super gentlememe pass".into(),
    pass_type_identifier: "com.example.pass".into(),
    team_identifier: "AA00AA0A0A".into(),
    serial_number: "ABCDEFG1234567890".into(),
})
.grouping_identifier(String::from("com.example.pass.app"))
.logo_text("Test pass".into())
.build();

Creating package and generate .pkpass file:

let mut package = Package::new(pass);

// Save package as .pkpass
let path = Path::new("test_pass.pkpass");
let file = match File::create(&path) {
    Err(why) => panic!("couldn't create {}: {}", path.display(), why),
    Ok(file) => file,
};
package.write(file).unwrap();

For more examples, see examples directory.

License

Passes is distributed under the terms of the MIT license. See LICENSE.

About

Rust library for generate Apple Wallet Passes for iOS, WatchOS, MacOS.

https://crates.io/crates/passes

License:MIT License


Languages

Language:Rust 100.0%