Guidelines for developing apps
Guidelines for developing apps
Introduction
This will primarily be a guide for students at AAU, but supervisors and other employees will be able to use the guide to advise students.
This guide will give you an overview of what options students at Aalborg University have to develop and distribute apps for iOS and Android devices. The guide will also contain a description of concrete actions that are necessary or possible.
As part of your classes or in connection with a project, you may have to produce apps for iOS or Android. Often you will need to distribute these apps to others on a limited basis for testing and demonstration. For example to your supervisors or even to companies and organisations that you collaborate with in connection with the project.
When an app is distributed in these scenarios, it will naturally be relevant to do so for a limited period and to a limited and more precisely defined target group.
Wider and indefinite distribution or sales on the App Store and Google Play is not covered by this guide.
Currently, Aalborg University does not offer a general mechanism to help distribute apps under the auspices of the university.
The distribution will therefore take place via your personal and private accounts. Therefore, you will not be able to use Google and Apple accounts created with your Aalborg University e-mail address that ends with “.aau.dk”.
For both iOS and Android, the most simple way to distribute apps is by physically connecting a phone or device to the computer with a cable. After you have approved the connection on the phone, the app can be run directly on the phone from the development environment, e.g., “Run” or “Debug” from Xcode or Android Studio.
However, on an Android phone you must first put it in developer mode. See dev-options or search for “android developer mode”.
If your purpose is solely to be able to show the functionality of the developed app, you can use a service such as Appetize.io.
Here, you can upload a simulator build (iOS or Android) and have a URL created. Through this URL, everyone can then run the app in a simulator directly on Appetize.io's website.
This service is free to use within certain limitations.
To get started, you do not need to create an account. Simply go to "upload" and follow the instructions:
Note that there are limitations, if you choose the free option:
- Only 1 active run of the app at a time
- A maximum number of free minutes to run the app per month – which is currently 100
- Read more here: https://appetize.io/pricing
Please note that other similar services do exist.
On iOS, the preferred method is to distribute apps for testing via Apple's TestFlight. General information can be found in the Apple TestFlight description. TestFlight is a sort of app store where you can publish your apps, but only invited people can download the app. TestFlight is an app that must be downloaded from the Apple App Store on the iOS devices that you wish to download and test your apps on.
Apple developer program
In order to distribute via TestFlight, you must have an Apple ID and be enrolled in the Apple Developer Program. It costs approximately DKK 800 per year. There is no free method when using this application.
Once you have signed up for the Apple Developer Program, you can distribute apps via TestFlight, but you can also submit apps for sale or for free in the App Store. If you want to sell apps it requires a few more steps in the process.
How to enroll in the Apple Developer Program:
- Create an Apple ID: appleid.apple.com – press "Create Your Apple ID" in the upper right corner
The following is important:- Use an existing e-mail address. Do NOT use your AAU email address. You can create a free Gmail account for this purpose
- It needs to be an e-mail address where you can receive e-mails
- Use your real name and birthdate
- Remember or note the "security questions" and your answers to them. Make sure your Apple ID has 2FA (two-factor authentication) turned on.
- It is ONLY possible to enable 2FA by logging into iCloud on an iOS or mac OS device
- It is important to use a phone number which you can receive text messages on
- Once 2FA is enabled, and a “trusted phone number” has been added, you can log out of the used iOS or macOS device. This can be used in case you have borrowed an iOS or mac OS device just to enable 2FA. If you are not logged into any iOS or macOS devices, then you will need to authenticate the 2FA via SMS
- Descriptions of how 2FA is handled can, among other things, be found here: scriptingosx.com and developer.apple.com
- Enroll in the Apple Developer Program: developer.apple.com/programs – press "Enroll" in the upper right corner and log in with the Apple ID you have created.
- Sign up as "Individual"
It costs 99 USD per year to be enrolled in the programme, and the first payment happens when you sign up.
Note that Apple does not allow you to create a shared login as a group and register it for the Apple Developer Program. Apple makes basic checks to see if a real name and address is used but of course cannot check if more people have the password for the created Apple ID. It is possible to add several “trusted phone numbers”, so that you can use 2FA and several phones when logging in.
Upload to TestFlight
See TestFlight tutorial from raywenderlich.com
It is possible to distribute Android apps for testing via Google Play Beta, which is a specific part of the Google Play app store made for this purpose. You can distribute the app for testing to anyone interested (open beta, open distribution) or just to named recipients (closed alpha, closed distribution).
Google Play developer
To use Google Play Beta, you need to register as a developer at Google. You must pay a one-time fee of 25 USD; unlike Apple it is NOT an annual fee.
Once you are set up as a developer at Google Play, you can distribute apps for testing (open and closed), but you can also distribute apps for sale or free download in the Google Play Store.
- Create a Google ID, for example a GMail eller another email address on: accounts.google.com – press "Create Account"
- If you use an existing email address instead of creating a Gmail, it must be an address where you can receive emails.
- It is important to use a phone number where you can receive text messages.
- Register as a developer on: play.google.com
- It costs 25 USD
Upload to Google Play Beta
You can distribute Android apps via e-mail or e.g., links to cloud drives such as Dropbox, OneDrive, Google Drive. However, it requires the user to change the security settings for their phone, which not everyone can, wants to or is allowed to, e.g., due to company policies.
You can read more about alternative installation sources on developer.android.com and you can read more about how these alternative installations methods are set up at developer.android.com.
In general, this method cannot be recommended unless the user is fully aware of and understands the consequences and how to change the security settings. General opening with this method, e.g., to a cloud drive or e-mail client makes the user much more vulnerable to phishing.
If the user has opened for the option, one can then create an apk from the development tool and send it to the user, who is able to install the app directly on their Android device.