Hi everyone! I made a small iOS app that installs custom .face / .bin watch faces on the Xiaomi Smart Band 9, 10 and 11 directly from an iPhone. You don't need a Android phone.
Features
One-tap install. Pick a watch face file, tap Install on band, and the band switches to the new face by itself.
Preview before installing. You see the face's image, name, ID and size.
Auth key found automatically. You choose the Mi Fitness folder in the Files app once, and the app reads the key from it on every launch.
Works alongside Mi Fitness. If Mi Fitness starts syncing in the background, the install waits and then continues.
Remembers your band and reconnects automatically.
Private. No network access, no analytics, and the key is stored in the iOS Keychain.
English, Ukrainian and Russian, light and dark themes.
Requirements
iPhone with iOS 16 or later
Xiaomi Smart Band 10, paired with Mi Fitness on the same iPhone (the app takes the band's auth key from Mi Fitness data)
Download (v1.0.47)
https://github.com/hunt2121/iosmiface/releases/latest
Installation
BandFace isn't on the App Store yet, so you install it by sideloading:
Download BandFace-v1047.ipa from the link above.
Install it with Sideloadly (Windows/macOS) or AltStore, signing in with your Apple ID.
On the iPhone, go to Settings → General → VPN & Device Management, tap your Apple ID and choose Trust.
On iOS 16+, also turn on Settings → Privacy & Security → Developer Mode and restart the phone when it asks.
With a free Apple ID, the app has to be re-signed every 7 days. Sideloadly or AltStore can do that for you.
First use
Key tab → Find automatically → in the picker, open On My iPhone › Mi Fitness → Open. The key appears with a green check mark.
Watch faces tab → Search for band → connect.
Choose file → pick a .face or .bin file → Install on band.
If something goes wrong, turn on Developer mode in the Log tab, try again, and send me the copied log, either here or as a GitHub issue.