Skip to content

About

Apple Wallet card skins and lock screen passcode themes on iOS 27.

Resources

Stars

2.1k stars

Watchers

13 watching

Forks

Repository files navigation

AirCard-iOS

AirCard-iOS Icon

Apple Wallet card skins, lock screen passcode themes, and PosterBoard wallpapers directly on iOS (18.0 – 27.2 beta 2).

Platform Swift Rust License Donate with PayPal

Overview

AirCard-iOS customizes Apple Wallet card artwork, lock screen passcode dialers, and lock screen wallpapers on device without a jailbreak.

The app communicates with internal system services over a local loopback tunnel (10.7.0.1 or 127.0.0.1) provided by LocalDevVPN. File operations are handled by AirliftFFI, a Rust library that interfaces with the AirTraffic service.

Compatibility

iOS Version Status Pairing Method Features Supported
iOS 27.0 – 27.0.1 ✅ Supported On-device Settings or imported pairing file Wallet skins, Passcode themes, Tendies wallpapers
iOS 27.2 beta 1 – beta 2 ✅ Supported On-device Settings or imported pairing file Tested and working
iOS 18.0 – 26.x ✅ Supported Imported pairing file only Wallet skins & Passcode themes (via SideStore / LiveContainer / AltStore pairing file)
iOS 27.2 beta 3+ ❌ Patched None Apple patched the underlying airlift exploit. Does not work.

Important

Do not update past iOS 27.2 beta 2: Apple patched the AirTraffic sync exploit in iOS 27.2 beta 3. If you update past beta 2, file injection will no longer work.

Features

Apple Wallet card skins

  • Writes custom card artwork to Passbook caches (cardBackgroundCombined@3x.png, @2x.png, and cardBackgroundCombined.pdf for transit cards like Suica).
  • Flushes front-face and thumbnail caches so new artwork appears immediately when Wallet opens.
  • Detects card identifiers in real time when you bring up Apple Pay.
  • Apply artwork to individual cards or batch-flash every detected card.

Passcode dialer themes

  • Live dialer preview with touch panning and zoom framing.
  • Full poster layout across all ten buttons, or individual circular button cutouts.
  • Targets system dialer caches (TelephonyUI-10).
  • Localized number subtext options, including Ukrainian and Russian Cyrillic layouts.
  • Import and export themes as .passthm files.

PosterBoard wallpapers (.tendies)

  • Import and unpack .tendies wallpaper archives directly from the Files app.
  • Auto-detects PosterBoard wallpaper containers and active descriptor UUIDs.
  • Injects wallpaper configurations and assets into PosterBoard storage.
  • Automatically triggers a NeoSpring respring after flashing to apply wallpapers without rebooting your iPhone.

Pairing options

  • Import pairing file: Supports pairing files (.mobiledevicepairing, .plist, .mobilepair) from SideStore, LiveContainer, iLoader, AltStore, Jitterbug, or exported from Mac/PC.
  • On-device pairing (iOS 27+): Advertises locally over Bonjour so the phone can pair with itself via Settings > Privacy & Security > Developer Mode > Pair with AirCard-iOS.
  • Safe unpairing: Easily delete the active pairing file to re-pair or switch pairing credentials at any time.

Prerequisites

  1. iOS 18.0 – 27.2 beta 2 (iOS 27.0+ for on-device Settings pairing, or imported pairing file on iOS 18–26). Note: iOS 27.2 beta 3+ is patched.
  2. LocalDevVPN / WireGuard: Running in loopback mode (10.7.0.1 or 127.0.0.1) so local connections can reach internal device services.
  3. Pairing record: Either on-device pairing or an imported pairing file.

Pairing Setup Guide

AirCard-iOS requires a pairing record to communicate with device lockdown services. Choose the method that best matches your setup:

Option A: SideStore (Recommended)

If you already use SideStore on your device, it has already created a valid pairing file:

  1. Open AirCard-iOS and go to the Pairing tab.
  2. Tap Import Pairing File….
  3. In the Files document picker, navigate to:
    On My iPhone › SideStore › ALTPairingFile.mobiledevicepairing
    
  4. Select ALTPairingFile.mobiledevicepairing. The app will load it immediately (Pairing file loaded ✅).

Option B: LiveContainer (with SideStore inside)

If you run SideStore inside LiveContainer:

  1. Open AirCard-iOS › Pairing tab › tap Import Pairing File….
  2. In the Files document picker, navigate to:
    On My iPhone › LiveContainer › SideStore › Documents › ALTPairingFile.mobiledevicepairing
    
    (depending on your LiveContainer version, you can also check On My iPhone › LiveContainer › Data › App › ... › SideStore › Documents)
  3. Select ALTPairingFile.mobiledevicepairing.

Option C: iLoader / Jitterbug / AltStore / Computer

  • iLoader / Jitterbug: In the respective app, export your pairing file (<UDID>.mobiledevicepairing) into the Files app, then import it in AirCard-iOS.
  • Mac / PC: Generate a pairing record using jitterbugpair, pymobiledevice3, or copy it from your computer (/var/db/lockdown/<UDID>.plist on macOS or %ProgramData%\Apple\Lockdown\<UDID>.plist on Windows), AirDrop/transfer it to your device, and import it into AirCard-iOS.
  • Manual placement: You can also drop any .mobiledevicepairing or .plist directly into On My iPhone › AirCard-iOS via the Files app; it will appear under Discovered in Documents ready to use.

Option D: On-Device Pairing (iOS 27+ only)

On devices running iOS 27 or newer:

  1. In the Pairing tab, tap Pair This iPhone.
  2. Note the 6-digit PIN displayed on screen.
  3. Open Settings › Privacy & Security › Developer Mode › Pair with AirCard-iOS.
  4. Enter the PIN to approve the pairing. AirCard-iOS will complete the handshake and save the credentials.

Installation

Install AirCard-iOS.ipa using your preferred sideloading method:

  • SideStore or AltStore
  • TrollStore
  • LiveContainer
  • Xcode or iOS App Signer

Building from source

Requirements

  • macOS 14.0 or newer with Xcode 16 or newer
  • XcodeGen (brew install xcodegen)
  • Rust toolchain (only needed if rebuilding rust-core)

Build the IPA

git clone https://github.com/mak5er/AirCard-iOS.git
cd AirCard-iOS
./build-ipa.sh

The completed package is written to build/AirCard-iOS.ipa.

Rebuilding the Rust framework

To compile changes in rust-core:

./build-ios.sh

Repository structure

AirCard-iOS/
├── ios-app/                   # SwiftUI application
│   ├── AirCardApp.swift       # App entry point and lifecycle
│   ├── AppViewModel.swift     # State management and exploit orchestration
│   ├── ContentView.swift      # Main UI views
│   ├── TendiesView.swift      # PosterBoard wallpaper view
│   ├── TendiesEngine.swift    # Tendies extraction and injection logic
│   ├── RespringHelper.swift   # NeoSpring WebKit respring implementation
│   ├── Models.swift           # Image slicing, theme layout, archive packing
│   ├── PairingController.swift# Bonjour host and pairing sync
│   ├── NetworkStatus.swift    # VPN loopback detection
│   ├── Utilities.swift        # Background keep-alive and helper functions
│   ├── GrappaHelper.[h,m]     # ATC protocol helpers
│   ├── Info.plist             # Bundle configuration
│   └── Assets.xcassets/       # App icons and image sets
├── AirliftFFI.xcframework/    # Compiled arm64 Rust static library and headers
├── rust-core/                 # Rust core source code
├── project.yml                # XcodeGen project definition
├── build-ipa.sh               # IPA build script
├── build-ios.sh               # Rust framework build script
├── LICENSE                    # MIT License
└── README.md                  # Project documentation

Credits

Support & Donations

If you want to support AirCard-iOS development by @mak5er:

  • Twitter / X: @mak5er
  • GitHub: @mak5er
  • PayPal: Donate via PayPal (Maksym Reva)
  • TON: UQBm9KPhtMw-XVVjirUoa09wzrlyWsbeZhKfefl1Uw-qNZ-r
  • USDT (TRC20): TDkDMCyjYxgvkWUnQiF5Erk2RyPQMT6G1n
  • USDT / BNB (BEP20): 0x0954dc491c502849d04956ef74634aa5931a08e8

License

MIT License. See LICENSE for details.

About

Apple Wallet card skins and lock screen passcode themes on iOS 27.

Resources

Stars

2.1k stars

Watchers

13 watching

Forks

Releases

Packages

Contributors

Languages