https://www.npmjs.com/package/mobile-app-server
The Problem
One day at the office, I noticed my QA colleague struggle to get an Apple iOS app onto their iPhone for testing.
Typically we use online services such as https://www.diawi.com/ to present us with a QR code.
We then use this to download an .ipa application onto the mobile device using a QR code reader.
Earlier that day I was generating Google Android and Apple iOS packages via a Jenkins build server.
That’s when I thought;
“Wouldn’t it be great to serve the files out locally for download?”
The solution
I was looking for an on-premise Diawi service!
I searched high and low to see if anyone had done something like this before. Nothing came close to what I needed but I did find a useful package that enabled reading of IPA and APK packages.
I used this package and set up a Expressjs application that would serve out files on a web interface.
Serving an Apple iOS package required a secure server so I set up the application over HTTPS as default with instructions on how to set up a self certified key and certificate.
Main Features
- Automatically discovers new Apps on page refresh, simply add files to path.
- Designed for Local Intranet usage, but could be deployed to cloud.
- Provides package information and QR Code per app.
- Secured on HTTPS – Requires an SSL certificate (Self Cert or Full).
Summary
If you are looking for an in house web based file server to serve mobile applications then this could be a valid solution. The service watches a folder to check for changes, new files, deletion of files. Subsequently browsing to the website will reflect the contents of the folder being watch.
Roadmap
- Drag and Drop app addition of files via Web Interface.
- App Icons.
- Extended package information.
Would you like any more features?
Get in touch, I would be happy to develop this further.
Alternatively, feel free to fork/pull request enhancements into the repository.