Guideline to development of apps

Introduction

This guide is for students and employees at Aalborg University. The primary audience of this guide will be students, but tutors, teachers and other employees can also use this guide to help and advise students.

The reader will gain an overview over the possibilities for students at Aalborg University to develop and distribute apps to iOS and Android devices. This guide also contains descriptions of necessary or possible actions.

  • +

    Problem and qualification

    As part of courses at the study or as part of student projects, students will produce apps to iOS or Android. It will often be appropriate to distribute these apps to others to a limited extent for test and demonstration. The distribution could be to other students, teachers or to select people at companies or organisations that the students are cooperating with, within the project.

    When an app is distributed under these circumstances, it will typically be relevant only for a limited time period and for a specific, limited and well-defined group of people.

    Wider and time-unlimited distribution or sale on Apple App Store and Google Play Store are not covered by this guide.

    Aalborg University does currently not offer any general mechanism to help with distribution of apps within, for or on behalf of the university. Distribution will be using personal and private accounts as explained in this guide. It will probably not be possible to use Google and Apple accounts created with Aalborg University email addresses, i.e. ending in .aau.dk.

  • +

    Distribution with cable

    p>For both iOS and Android the simples way to distribute apps is often to physically connect a phone or device to the development computer with a cable. After the connection is approved 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.

    On Android devices it is necessary first to enable developer mode. See dev-options or search for "android developer mode".

  • +

    Demo of app using a web-page

    If the purpose is purely to show the functionality of the developed app it is also possible to use a service like Appetize.io

    There it is possible to upload a simulator build (iOS or Android) and have a URL created. Through this URL everybody can run the app in a simulator directly on the web-site of Appetize.io.

    This service is free to use within certain limits.

    To get startet it is not necessary to create an account or the like. Just go to "upload" and follow the guide and supply an email address:

    Note the following limitations when using a free account:

    • Only 1 active execution of the app at a time.
    • A maximum number of free execution minutes per month – currently 100.
    • Read more here: https://appetize.io/pricing

    Other similar services exists.

  • +

    Distribution of iOS apps using Apple TestFlight

    On iOS the preferred method to distribute an app to test is via Apple TestFlight. General information can be found in the Apple TestFlight description. TestFlight is a kind of app store where you can publish your apps but where only invited people can download the app. TestFlight itself is an app that needs to be downloaded from Apple App Store to the iOS devices that you want to install the apps for testing.

    Apple Developer Program

    In order to distribute using TestFlight you need to have a valid Apple ID and to be signed up for the Apple Developer Program. It costs around 800 DKK per year. There is no free method.

    When you are signed up for the Apple Developer Program you can distribute apps using TestFlight but you can also send apps to the App Store for sale or free download. Charging a price for apps (as opposed to only distribute free apps) requires a few more steps to set up.

    1. Create an Apple ID: appleid.apple.com – press "Create Your Apple ID" in the top right corner. The following is important:
      • Use an existing email address. Do NOT use your AAU email address. You could create a free GMail account for the sole purpose.
      • It must be an email address you can receive emails on.
      • Use your true name and birthday.
      • Remember or write down your security questions and answers.
    2. Ensure your Apple ID has 2FA (two-factor authentication) enabled.
      • Enabling 2FA can ONLY be done by logging in to iCloud on an iOS or macOS device. There is no way around this limitation.
      • It is important to use a phone number that can receive SMS / text messages.
      • When 2FA has been enabled and a "trusted phone number" has been added it is possible to log out from the used iOS og macOS device. This can be used if a borrowed iOS or macOS unit has been used solely for the purpose of enabling 2FA. If no iOS or macOS device is logged in with the used Apple ID, 2FA will use SMS.
      • Descriptions of how to handle 2FA can be found here amongst other places: 
      • scriptingosx.com and developer.apple.com.
    3. Apply for Apple Developer Program: developer.apple.com/programs – press "Enrol" in top right corner and log in with the Apple ID you just created.
    • Sign up as "Individual"
    • It costs 99 USD per year, which in Denmark translates to about 800 kr per year, first payment at sign-up.

    Apple do not allow you to use a common login as a group and use that to sign up for Apple Developer Program. Apple do basic checks to ensure a real name and address is used, but of course they can not check if multiple people know the password for the created Apple ID. It is possible to add multiple "trusted phone number" such that multiple phones can be used for 2FA.

    Upload to TestFlight

    TestFlight tutorial fra raywenderlich.com

  • +

    Distribution of Android apps using alternative sources

    It is possible to distribute Android apps via email or e.g. links to cloud drives such as Dropbox, OneDrive, Google Drive. However, that method requires the user to change the security settings on the device, a change not everybody can, want or are allowed to do, e.g. due to company security policies.

    More information about alternative methods for installation can be found on developer.android.com and more about how to allow these alternative installation methods can be found on developer.android.com.

    Generally it is not recommended to use alternative methods for installation of apps unless the user is completely aware and understand the the consequences and how to close down again. Generally, opening for alternative methods, e.g. from a cloud drive or email client, will make the user more vulnerable to phishing attempts.

    If the user has opened for the possibility of an alternative method of installation, it is possible to create an apk from the development environment and the send it to the user who then is able to install it on their Android device.

  • +

    Distribution of Android apps using Google Play Beta

    It is possible to distribute Android apps for testing using Google Play Beta which is a special area of the Google Play app store for this purpose. Apps for test can be made available for all interested users (open beta, open distribution) or only for named recipients (closed alpha, closed distribution).

    Google Play Developer

    To use Google Play Beta it is necessary to sign up as developer at Google. It costs a one-time fee of 25 USD, i.e. in contrast to yearly subscription model Apple use.

    After registering as developer at Google Play it is possible to distribute apps for test (open and closed) but it is also possible to put apps up for sale or free download in Google Play Store.

    Create a Google ID, e.g. a GMail or on another email address: accounts.google.com – press "Create Account"

    If you use an existing email address instead of creating a GMail it needs to be an address you can actually receive emails on.
    It is important to use a phone number you can receive SMS / text messages on.

    Sign up as developer: play.google.com

    One-time fee: 25 USD

    Upload to Google Play Beta

    Google Play tutorial fra raywenderlich.com