Skip to content

iOS and Android app for geteduroam

Notifications You must be signed in to change notification settings

CarlosFJ/ionic-app

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GetEduroam standard-readme compliant

HOW TO BUILD

Android

There are 2 options to build the app in Android: one automatic and another manual.

  • Option 1) Automatic APK generation for Android

    • Navigate to the folder called tools

    • Make sure that both docker and docker-compose are available in the machine.

      ./install-docker.sh
      
      • Generate the APK
      • Option 1: using make command of Makefile:
      make generate-apk
      
      ./generate-apk.sh
      
    • The APK is generated and signed with the key release-key.jks

    • The new apk will be available in the folder apk inside tools

  • Option 2) Manual Application generation

    • Requirements
      • Java
      • Node.js
      • ionic
      • capacitor
    • Navigate to src folder
      • Install Dependencies and build (nodeJS dependencies)
      npm i
      npm run build
      
      • Android
        • Android specific requirements
          • Android-SDK with build-tools. $ANDROID_HOME might be required
        • Create android folder and config gradle
      npx cap add android
      
      • Synchronize the android folder
      npx cap sync android
      
      • Access the new generated android folder
      cd android
      
      • Create APK
      ./gradlew assembleDebug
      
      • Access the folder in which the APK is available
      cd app/build/outputs/apk/debug/
      
      • Align APK
      zipalign -v -p 4 app-debug.apk app-debug-aligned.apk
      
      • Sign APK
      apksigner sign --ks /release-key.jks --ks-pass pass:KEY_PASSWORD --key-pass pass:KEY_PASSWORD --out geteduroam.apk app-debug-aligned.apk
      

iOS

To create the iOS binary, there is only a way (manual) because it couldn't be dockerized.

  • Binary creation
    • Requirements
      • Java
      • Node.js
      • ionic
      • capacitor
    • Navigate to src folder
      • Install Dependencies and build (nodeJS dependencies)
      npm i
      npm run build
      
    • iOS specific requirements:
      • Xcode
      • CocoaPods
    • Building the capacitor app:
      npx cap add ios -> Creates ios folder (if the ios folder doesn't exist under the src one)
      npx cap sync ios -> Synchronyzes ios folder
      npx cap open ios -> Opens xCode
      
    • Installing CocoaPods: Go to the folder src/ios/App, throw the command:
      pod install -> Installs dependencies with CocoaPods.
      
    • To fix Bounce on iOS (this step shoulnd't be needed but sometimes the Bounce.m is removed so it's needed). Important: If Bounce.m exists, skip this step:
      • In the folder Pods/, create a "New File", select "Objective-C File", select Next.
      • Include the name to the file and select Next.
      • Select Target Support Files: Capacitor, Capacitor Cordova, CordovaPlugins and Pods-App
      • Select Create and include:
      #import <Foundation/Foundation.h>
      
      #import <UIKit/UIKit.h>
      
      @implementation UIScrollView (NoBounce)
      
      - (void)didMoveToWindow {
      
          [super didMoveToWindow];
      
          self.bounces = NO;
      }
      
      @end
      

About

iOS and Android app for geteduroam

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 51.6%
  • Java 16.6%
  • Swift 15.4%
  • HTML 6.7%
  • CSS 5.2%
  • Shell 1.4%
  • Other 3.1%