In my experience, it offers better performance and less glitches than the installed web app (PWA).
It uses Capacitor to wrap the web app into a native app, and I did some tweaks to make it work on iOS. The tweaks so far are:
- Custom icon, built based on the original SVG and edited with Icon Composer, supporting Liquid Glass styles;
- Custom handling for instance authentication. This app listens for the "iphanpy://iphanpy" URL scheme to fetch the auth code;
- Added custom code to invoke the device's camera, so it asks for the needed permissions first;
- Intercepts all external links to open them in an in-app browser instead;
This is just a side project and will not be published to the App Store. Which means some things:
- Notifications do not work, and likely never will.
- You have to build the app yourself, through XCode, to be able to use it on your device. Sorry, I can't even put it on TestFlight without paying the annual $99 fee, and that's a bit too much for me.
For details on what's been changed, check the IPHANPY_CUSTOMIZATIONS.md file.
- Clone this repository, or download it as a zip file;
- Open the downloaded folder in a Terminal, and run
npm install. NodeJS 20+ is required; - Run
npm run build && npx cap sync iosto build the app; - Run
npx cap open iosto open the project in XCode; - Inside XCode, you need to select "App" in the left sidebar, then on "Signing and Capabilities" --> "Team", select your own Personal Team;
- Now, also inside XCode, you can just choose to run the app on your iPhone (and probably iPad). After running it once, the app will remain installed and you can use it for 7 days. After 7 days, you'll have to re-install it through XCode again.
- Go to the
altstore/releasesfolder of this repo, and download the latest .ipa file; - Move the .ipa file to your device;
- Open AltStore on your device, and tap "Add" to add the .ipa file;
- Tap "Install" to install the app;
- The app will have to be refreshed every 7 days, as usual.
