SCADE

Installation on OSX

August 2nd, 2019 - SCADE Version 0.9.16

Introduction - Up and running in 10 minutes

At SCADE, we are working on streamlining the installation over the next couple of versions. Thanks to all that provided valuable feedback. Given a fast internet connection, installation should not take longer than 10 minutes. Please find the instructions below

Lastest installation changes

With the 0.9.14 release, we had to add Java SDK installation back to the installation steps because of the Apple Notarization Process.

With version 0.9.15 we fixed a problem that stopped SCADE from compiling on Android if you had multiple JVMs installed

Prerequisites

Supported versions

SCADE 1.0 is supporting the following versions

  • Swift 5.0 on iOS
  • 🆕Swift 5.0 on Android
  • iOS X 10.14 and greater
  • Android 5.0 and greater

Requirements

  • OS requirement : Swift, and therefore SCADE, requires OSX version 10.14 or higher
  • XCode 10 including Swift 5.0 is installed on the machine
  • Android NDK R11c up to release 17
  • Android SDK 24.4.1 or higher
  • Newly added step Installation of Java SDK 8, not higher
  • Harddisk space: You need about 800 MB of hard disk space

Ensure correct Java SDK version

Check for correct version

Your requirements for SCADE are as such

  • a Java 8 JRE to run the SCADE IDE
  • a Java 8 SDK to compile (every SDK includes a JRE)

So let us check if you have an Java 8 SDK installed. I a terminal window, run

  • /usr/libexec/java_home -V command and the
  • java -version command

You should have an output similar to this:

Install Java 8 SDK if not available

In case you have no Java 8 SDK listed, please download it here.

Download a Java8 SDK from i.e. Zulu and install DMG image

After downloading the DMG file, execute the installer. Java 8 SDK will be installed

Set the -vm parameter if you have multiple Java virtual machines installed

You need to set the -vm parameter if you have multiple JRE installed to make sure SCADE knows where to find the correct JRE.

How MAC OSX works is that for starting Java programs, it uses the Java framework that is listed on top of the list of the libexec/java_home -V command.

If you have more than 1 Java framework installed and its not on top of the list, you need to tell SCADE the location of the Java8 framework. See this example

  • The top entry is a Java 12 framework and Java 12 will be used
  • But you want to Java 8 entry highlighted in green

So to specify your JRE, execute the following steps:

  1. Open the eclipse.ini file located at /Applications/Scade.app/Contents/Eclipse/ in a text editor

  2. Add the two lines into the file as shown below

    • Add one line starting with -vm directly above the -vmargs line
    • Add the location of the JRE framework and add /bin
  3. Save the file

See a sample eclipse.ini file:

You are all set and SCADE should startup nicely.

Step 1 - Install SCADE

Download and extract SCADE from here

  1. Download SCADE here www.scade.io/download/
  2. If your Mac did not automatically unzip the zip file, doubleclick to open the archive
  3. Scade.dmg becomes available in your folder
  4. Double click on Scade.dmg
  5. The Install dialog opens. Drag and drop Scade into the Applications folder
  6. Confirm that you want to overwrite any content

Start Scade

  1. Run SCADE from your applications directory
    You find SCADE using Command + Space and searching for SCADE

Start it

2a. If you get an error as this one displayed below, make sure to set the correct VM as described here: Setup SCADE with multiple VMs installed

2b. When you start SCADE for the very first time, you need to confirm this dialog

Choose Workspace

You will now be asked to provide a workspace folder. The workspace folder will contain the following assets:

  • SCADE projects
  • SCADE SDK and binary built during compilation process
  • SCADE GitHub downloads
  • SCADE Fusion libraries

Workspace location

Please make sure that the workspace location you choose is OUTSIDE of the directory where SCADE resides. In this way, you can update the software without impacting your work.

Congrats. You installed SCADE successfully and can start developing and give it a first try. The following setup steps are necessary for compiling to Android.. :

Step 2 - Install Android Studio

SCADE uses the following parts of Android Studio

  • the Android SDK
  • the Android NDK
  • (optionally) the Android Simulator to run Android binaries
    If you haven't previously installed Android Studio, you must install it now.

  • Download and install Android Studio here https://developer.android.com/studio/#downloads

  • Start Android Studio, open any project or create new empty project
  • Select Tools → SDK Manager in the main menu
  • In the SDK Platforms tab, select the following components:
    • Android 6.0
  1. In the SDK Tools tab, select the followin components:
    • Android SDK Platform-Tools
    • Android SDK Tools
    • Google Play services
    • NDK
    • Support Repository / Google Repository
  1. Click Apply and wait for selected components to be installed

Results
Android SDK will be installed in the <UserHome>/Android/Library/sdk directory
Android NDK will be installed in the <UserHome>/Android/Library/sdk/ndk-bundle

  1. Install Android NDK v17
    SCADE supports Android NDK v17 and lower at the moment. The current version of Android Studio comes with a different version. Please install Android NDK v17 following these steps

    1. Download NDK here https://dl.google.com/android/repository/android-ndk-r17c-darwin-x86_64.zip
    2. Extract the NDK to a directory of your choice. I choose /Users/<myuser>/android-ndk-r17c.
    3. We use /Users/flangel/android-ndk-r17c in this example

Step 3 - Verify Swift and XCode Location

Especially if you have multiple versions of Xcode installed, its critical that you are using the correct version. Doublecheck using these commands

  • swift -version
  • xcrun swift -version

All these commands should point to Swift 5.0

If this doesn't result in Swift 5.0 option, try setting the command line tools Command Line Tools Setup

Step 4 - Configure Android support

The following settings make it possible to compile to Android. Without the settings, you will be able to develop and run on iOS and in our SCADE simulator, but not be able to compile to Android.

Open the preferences settings

and configure the paths. When you press the apply button, we do check the validity of the path.

Here are the default directories from the above installation steps:

Software Location
Android SDK /Users/<Username>/Library/Android/sdk/
Android NDK /Users/<Username>/android-ndk-r17c

Step 5 - Configure Java SDK support

Make sure that you Java path is the same you used for your Java8 SDK installation

Step 6 - Configure iOS support

The following settings make it possible to compile to iOS. Without the settings, you will be able to develop and run on iOS and in our SCADE simulator, but not be able to compile to iOS.

Configure files

Apple requires two different files for compiling apps

  • a certificate file for signing the app, for instance cert.p12
  • a mobile provision file prov.mobileprovisioning

You need to specify the location of these files in the build file of your app.

  1. Open the build file <YourApp>.build that can be found in the root directory of your project
  2. Scroll to the codeSignSettings section at the end of the file
  3. Modify the entries as shown below to reflect the location of your files

Make sure certificate is in keychain

The certificate needs to be part of the keychain. Double click on it and make sure its part of your keychain:

Certificates and password support

Certificates can be password protected. Currently, we don't support password protected certificates, but will add this feature in the future.

Set Command Line Tool option

Sometime the command line tools use the wrong version.

  1. Run XCode 10.x
  2. Set Command Line Tools to use 10.x

Installation on OSX


August 2nd, 2019 - SCADE Version 0.9.16

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.