This is the documentation for Enlighten.

Running mobile apps

Android

GeoMobileDemo and GeoViewer are provided as both pre-built APKs and as source for Android. They are purely native applications that each implement a NativeActivity and target Android 2.3.3 (API Level 10). GeoMobileDemo has been tested on a number of recent dual-core ARM Cortex-A9 and Intel Android devices with varying GPU capabilities and is designed to take advantage of OpenGL ES 2.0 extensions where possible. However, GeoViewer is currently more limited in terms of the Android devices that it supports.

Prebuilt APKs

To install and run a pre-built APK using a Windows PC, ensure an Android device is attached and execute the appropriate Install_<app name>_Android.bat which can be found in the Enlighten_2.XX\Bin\Android directory. These batch files use Android Debug Bridge (ADB) commands to install the APK, deploy any resources and start the application's native activity.

Troubleshooting

Information and error messages generated by the app can be viewed with LogCat using the GeoMsgLogger filter in Eclipse or via the following ADB command:

adb logcat GeoMsgLogger:V *:S

iOS

Due to the fact that an iOS application must be signed using a developer's Provisioning Profile in order to run on specific iOS devices, the Enlighten mobile iOS apps must be built from source and run using Xcode. See the section on Code compilation for details of how this can be achieved.

Prerequisites

The core code for each mobile application is common to Android and iOS, however just as the Android version wraps this core in a NativeActivity, the iOS version uses a thin Objective-C layer to handle iOS events and the application life cycle. In particular, a GLKView and GLKViewController are used to simplify management of a framebuffer and rendering loop. This dependency on GLKit and the utilisation of specific OpenGL ES 2.0 extensions available only on Apple A5 devices (or later) mean that the minimum requirements for building and running the apps on iOS are as follows:

  • Xcode 4.2
  • iOS 5.0
  • iPhone 4S/5th generation iPod Touch/iPad 2

Internally, we test on iOS 6.1, but later versions should work too.