Preparing for uPortal App Development

Installing

  1. Check out and install the uPortal trunk. For instructions on installing uPortal, please see the uPortal manual.
  2. Install and configure the iPhone and / or Android SDKs. Mac OSX Snow Leopard or greater required for iPhone.
  3. Install Titanium Appcelerator (Alternatively, Appcelerator has a new IDE called Titanium Developer that integrates code editing and testing. Alternatively, use your own text editor and Titanium Developer GUI for testing).
  4. Create a new mobile project in Titanium Appcelerator. Do not include "Titanium" in the project name. Make sure there are no spaces in the project name (This name won't be seen by end users when released)
  5. Open the new project's folder
  6. Delete the "Resources" directory from the project root
  7. Check out the "Resources" folder of uMobile into the root project directory
  8. Run the emulator!
Replacing the resources directory
$ cd MyProject
$ rm -Rf Resources
$ svn co https://source.jasig.org/sandbox/uMobile/trunk/Resources

Supported SDKs and Devices

There are several SDKs used to build uMobile, Titanium SDK, Android SDK, and iOS SDK. The currently officially-supported versions of each SDK are:

  • Titanium SDK 1.7.0 for compiling iOS
  • Titanium SDK 1.6.2 for compiling Android (Note: the ti.android.compilejs property in tiapp.xml should be changed to true when building for Android distribution, for better native performance)
  • Android SDK: 2.2 with Google APIs (AKA "APIs 2.2" in Titanium Developer and Titanium Studio)
  • iOS SDK: 4.2
  • Supported iOS Devices:
    • iPod Touch 2nd Gen+ (+w/Retina)
    • iPhone 3G+ (+w/Retina)
    • iPad
  • Supported Android Devices:
    • Android Phones with Android 2.2+ (Froyo).
    • Limited supported for Android Honeycomb (Android 3.0+) tablets currently.

Troubleshooting

You may need to patch your android builder.py file to properly handle subversion metadata directories. Instructions on performing this fix can be found here. It's worth noting that in Python, whitespace is meaningful, so the line referenced will need to be added appropriately indented with tabs (not spaces). If you still have issues, it's worth searching the Titanium Mobile Q&A site for someone else who may have had the same issue: http://developer.appcelerator.com/questions/.

Helpful Resources