AirCard-macOS README

The project's README from github.com/alejadxr/AirCard-macOS. As one markdown file: README.md.

AirCard macOS

Port nativo para macOS del flujo de personalización de tarjetas de Apple Wallet de AirCard-Windows. La interfaz y la orquestación están escritas en Swift 6.2 y usan Swift Concurrency para la detección del iPhone, preparación de imágenes y escritura atómica.

Estado: probado con un iPhone18,3 en iOS 27.2 (build 24B5084k). El proyecto usa APIs privadas de Apple y es experimental; no es una herramienta oficial.

Ejecutar

Desde esta carpeta:

chmod +x Scripts/build_helpers.sh
Scripts/build_helpers.sh
swift run

Para generar una aplicación universal que puedas abrir con doble clic:

chmod +x Scripts/build_app.sh
Scripts/build_app.sh
open build/AirCardMac.app

Para generar también un instalador .dmg:

chmod +x Scripts/build_dmg.sh
Scripts/build_dmg.sh
open build/AirCardMac.dmg

El DMG contiene la aplicación universal AirCardMac.app para Apple Silicon e Intel.

Conecta un iPhone emparejado por USB, desbloquéalo y pulsa “Confiar”. Abre Apple Books una vez antes del primer flash. Pulsa “Escanear desde Wallet”, abre Apple Wallet y toca la tarjeta; el hash se rellenará solo. También puedes pegar el hash manualmente. Después elige una imagen, añade uno o varios overlays PNG transparentes si quieres, y pulsa “Aplicar skin”. Los overlays se combinan en el orden mostrado y se incluyen en todas las variantes que recibe Wallet. Al terminar, cierra y abre Wallet en el iPhone.

El flujo conserva/restaura los archivos temporales de Books y limpia los artefactos generados. Solo se escriben los assets de la tarjeta seleccionada y se intentan invalidar sus cachés.

Alcance actual

Sobre el color de los números

El repositorio original también soporta paquetes .passthm para el teclado de código de iOS. Los números no son texto recoloreable: son imágenes rasterizadas que se copian a cachés de TelephonyUI con nombres como:

en-2-A B C--white.png
en-2-A B C--white-bold.png

Por tanto, para cambiar el color hay que recolorear o regenerar los PNG de las teclas y después escribir las variantes correspondientes en /var/mobile/Library/Caches/TelephonyUI-10 (o -9/-8, según iOS). La variante -bold es la que usa iOS cuando está activo “Texto en negrita”.

En la app: elige un .passthm, selecciona el color, verifica la previsualización y pulsa “Aplicar color al teclado”. El port conserva los nombres y variantes del paquete, convierte JPG/JPEG a PNG y hace la escritura por lotes con fallback individual. Después bloquea el iPhone para que TelephonyUI recargue la caché.

Además de conservar el nombre original, la variante elegida en la interfaz se escribe como --white o --black; si la imagen es -bold, se usa --white-bold o --black-bold respectivamente.

Para tarjetas Apple Pay, iOS dibuja los números y normalmente decide su color internamente; el port original tampoco modifica pass.json, solo reemplaza el artwork y limpia las cachés de Wallet. La build actual escribe además los assets canónicos diffuse, background y strip, siguiendo el port iOS relacionado, porque algunas variantes de Wallet pueden leer esos nombres en lugar de cardBackgroundCombined.

AirCard-macOS (alejadxr/AirCard-macOS)

Searching Database…

What is this?AirCard for macOS is a native Mac port of the AirCard-Windows flow for customizing Apple Wallet cards: it flashes custom artwork onto cards in your iPhone's Wallet app and can also recolor the iOS passcode keyboard theme.
Is this an iPhone app or a Mac app?It is a macOS app (written in Swift 6.2 with Swift Concurrency) that drives a USB-paired iPhone. It relies on private Apple APIs, is experimental, and is not an official Apple tool.
How do I get it running?Build the universal app from the project folder with Swift Package Manager (or generate the .dmg) and open AirCardMac.app. Then connect a USB-paired iPhone, unlock it, tap 'Trust', and open Apple Books once before the first flash.
Are there any catches I should know about?Yes — on Apple Pay cards you can only replace the artwork: iOS and the card issuer decide the number color, and Wallet ignores --white/--black suffixes for those assets. The port never modifies pass.json.
What Mac and iPhone do I need?The .dmg ships a universal AirCardMac.app that runs on both Apple Silicon and Intel Macs. On the iPhone side it has been tested with an iPhone18,3 running iOS 27.2.
Does flashing touch anything else on my iPhone?No — only the assets of the selected card are written and its caches invalidated. Apple Books temp files are preserved and restored, generated artifacts are cleaned up, and pass.json stays untouched.
How do I apply a new skin to a card?Tap 'Scan from Wallet' and pick the card in Apple Wallet so the hash fills in automatically (or paste it manually), choose an image, then hit 'Apply skin'. Afterward, close and reopen Wallet on the iPhone to see the change.
Can I stack my own graphics on top of the card art?Yes. You can add one or more transparent PNG overlays, reorder them, and preview the result before flashing; overlays are combined in the order shown and included in every variant Wallet receives.
What does the keyboard recoloring feature do?It applies .passthm passcode-keyboard themes for TelephonyUI-8/9/10. Since the digits are rasterized images rather than text, it recolors the key PNGs and writes --white/--black variants (-bold too, for Bold Text) into the TelephonyUI cache, then locks the iPhone so the cache reloads.
Which image sizes and formats does it produce?It prepares card art at 1536×969 and 1024×646 as PNG plus a PDF variant, preserving image edges, and writes Apple Pay artwork under the canonical names cardBackgroundCombined, diffuse, background and strip at 3x, 2x and PDF.
Creator
alejadxr
Size
4.5 MB
Stars
177
Age
26d
Commits · 90 Days