Monday Dec 01, 2014

How do I install multiple Xcodes on my Mac?

On the OTN MAF forums we're seeing a few questions about if MAF 2.0.1 only supports Xcode 5.1.1, but MAF 2.0.1 also supports iOS 8 applications, how do you test MAF apps on an iOS 8 Simulator when that's only available in Xcode 6+ and you can only have one XCode installed at anyone time?

(Phew, that's likely the most complex sentence I've ever written).

Firstly it is correct to say only Xcode 6+ includes an iOS 8 Simulator (and 7.0 and 7.1 for the record as a separate download), but Xcode 5.1.1 only supports upto iOS 7.1.

However it is incorrect to say a Mac can only have one Xcode version installed.

Let's discuss what you need to know to install a second Xcode.

Installing multiple Xcodes

Typically Xcode is installed via the Apple App Store, and this will install the most recent version (at the time of writing this was Xcode 6.1). Now Oracle MAF 2.0.1 customers will have Xcode 5.1.1 installed, and likely was installed via the same App Store route, just you haven't upgraded yet.

So you may have 5.1.1 installed, or 6.1 installed, but not both. Whichever is installed will be found under /Applications/

If you currently have 5.1.1 installed and you want to also install 6.1, follow these steps:

a) Close Xcode if running
b) Rename /Applications/ to /Applications/
c) Enter the admin password when prompted
d) Goto the Apple App Store and download Xcode again
e) Once downloaded, before running it, change the new /Applications/ that was just installed to /Application/

There is a couple of confusing things that will happen during step "d". When you go to the App Store, the button will show "Upgrade" rather than "Install". You can ignore this, the App Stores doesn't know you've moved the currently installed Xcode. Then while the app is downloading you may notice in the Mac Launchpad that it can get confused and it shows the original Xcode icon getting upgraded rather than a separate install. You can ignore this too, this will right itself eventually and you'll end up with two Xcode icons, Xcode5 & Xcode6.

For customer's that already have Xcode 6.1 installed, but not 5.1.1, the steps for you are slightly longer as the App Store doesn't allow you to download previous versions of software. For this we need to use the Apple Developer Center

a) Close Xcode if running
b) Rename /Applications/ to /Applications/
c) Enter the admin password when prompted
d) Login to the Apple Developer Center Member Center (you will need an Apple Developer Account to do this)
e) Access the Downloads page
f) Search for the relevant Xcode version (e.g. Xcode 5.1.1)
g) Download the .dmg file
h) Once download execute the .dmg file to install Xcode
i) Once Xcode is installed, ensure it is closed
j) Rename the new /Applications/ to /Applications/

That's it.

What can go wrong?

If you've already JDeveloper and MAF 2.0.1 installed & have been using it successfully on your Mac to test iOS apps, you need to remember that the Preferences -> Mobile Application Framework -> iOS settings are still pointing to the old /Applications/ You need to change this to /Applications/ otherwise you can't build your application.

DO NOT change this to, MAF 2.0.1 does not support Xcode 6. An upcoming MAF version will.

But how do I test with the iOS 8 Simulator then?

MAF will support Xcode 6+ in an upcoming release which will mean you can deploy from MAF straight to an iOS 8 Simulator. For the moment with the above dual Xcode setup you need to do the following:


a) In JDeveloper with your current MAF 2.0.1 installation which uses Xcode 5, select the Build menu Clean All option
b) Deploy your application to the iOS Simulator via the Deploy menu as you would normally

This will open the iOS 7.X simulator attached to Xcode 5.1.1. We're not actually interested in this, rather the previous step forced JDeveloper to build the temporary iOS project for us which we'll use next.

c) Close JDeveloper down
d) Close the simulator
e) Close Xcode if running
f) Open Xcode6
g) Select Open Project
h) In the file dialog locate the base directory of your app's source code on the local Mac file system, then select deploy/iOS1/temporary_xcode_project/Oracle_ADFmc_Container_Template.xcodeproj (note the iOS1 directory name depends on your deployment profile names, this may differ in your application)
i) In the Xcode 6 IDE, select the same named project in the left Project Navigator
j) Via the Product menu Destination options, select an iOS 8.X device under the iOS Simulator heading (e.g. iPhone 5s (8.1))
k) Via the Product menu select Run
l) The app will build, and after sometime the iOS 8 Simulator will launch with your app starting automatically

When you return to JDeveloper + MAF, ensure to do a Build menu Clean All in your application before testing again especially through the previous version 5 of Xcode. This is necessary because as you've just executed a build under Xcode 6, incorrect versioned artifacts may have been created in the temporary_xcode_project directory. Amongst Oracle staff we use the Clean All function religiously.

Caveat emptor

This article was written when MAF was the current version of MAF. In future versions when we support different Xcodes obviously the versions talked about in this article, that is JDeveloper, MAF, Xcode and iOS versions will change.

Friday Nov 21, 2014

Oracle Mobile Partner Event, Europe 2015

As an Oracle partner do you have plans for Mobile enablement?  Do you want to find out the latest application development trends?  Do you want to get hands-on with Oracle's Mobile Application Framework?  The FMW Partner Community are hosting a 4 day event on the 3-6th March 2015 in Budapest.  This event will bring together Oracle Development with the brightest Oracle partners to discuss and learn, amongst other topics, Mobile, Cloud and UX.

Grant Ronald and Frank Nimphius will be representing the Mobility and Development Tools Product Management Team, and we will be running a 2 day hands-on session.

Friday Nov 14, 2014

Oracle leaps ahead of SAP and IBM in MADP

Oracle leaps ahead of SAP and IBM in MADP

Gigom Research ranks Oracle at the top of the MADP list of vendors

[Read More]

Tuesday Nov 11, 2014

Secure Oracle MAF applications with Oracle Mobile Security Suite

The following steps illustrate how to containerize and secure the content of a MAF application using Oracle Mobile Security Suite (OMSS). 

Note: This functionality is currently supported only on the iOS platform. Support for Android is on the roadmap. Also, please note that the steps listed below are applicable to the MAF 2.0.1 release only.

Step1: Install the containerization (c14n) tool

Download :

You can download the OMSS c14n tool from Oracle Support site.

JDeveloper users : 

In the MAF 2.0.1 release, Oracle JDeveloper does not provide an option to set the path of the c14n tool in the preferences. JDeveloper expects the c14n tool to be installed in the default path. While installing the c14n tool, choose the default path provided by the installer. In future MAF releases, developers shall be able to set the path to the c14n tool in JDev preferences, and at that point, they can install the c14n tool at any location on their machine.

Default path where OMSS C14N tool is installed: /opt/Oracle/omss

Eclipse users: 

If you are using Eclipse to secure your MAF applications with Oracle Mobile Security Suite, you can install the c14n tool at any location on your machine. The MAF extension for Eclipse provides a way to set the path to the c14n tool in the Eclipse preferences.

After you install the c14n tool, you can run the following command in a terminal to ensure the c14n tool is installed properly.

c14n -version

For the MAF 2.0.1 release, the minimum supported version of the c14n tool is v3.0.2, and the maximum supported version is

Step2: Set the path for the c14n tool in JDeveloper / Eclipse preferences

JDeveloper users:

You can skip this step in the MAF 2.0.1 release, as JDeveloper always tries to look for the c14n tool in the default location. Just make sure that your c14n tool is installed in the default path suggested by the c14n installer. In future MAF releases you will be able to set the path of the c14n tool in the JDev preferences.

Eclipse users: 

You can set the path within Eclipse preferences by navigating to Oracle ----> Mobile Applications Framework ---> iOS ---> Containerize 

Step3: Enable Oracle Mobile Security Suite in the deployment profile

JDeveloper users:

Within the iOS deployment profile, check the box that says Enable Oracle Mobile Security Suite.

Eclipse users:

You can enable Oracle Mobile Security Suite within the Run Configurations menu as shown in the picture below.

Step 4: Deploy the application to iTunes

Containerization is ONLY supported for iTunes deployment. Deployment to a distribution package or to an iOS simulator will NOT invoke the c14n tool to create a containerized IPA file. See the following screenshots for examples.

JDeveloper users:

Eclipse users: 

Within the Run Configurations menu, set the iOS Deploy Target to iTunes, as shown in the picture below, and click Run.

Upon completion of this step (Deploy the application to iTunes), an IPA file secured by Oracle Mobile Security Suite will be created. Once you add this application to your device, it should appear with a lock icon on it, as in the picture shown below.

Step 5: Generate an IPA for the Workspace application based on your enterprise provisioning profile and certificate

Go through the Oracle® Fusion Middleware Customization and Branding Guide for Oracle Mobile Security Suite and follow the steps listed in the Section 1. Oracle Secure Workspace Customization for iOS. This section walks you through the steps to generate the Workspace IPA file based on your own enterprise provisioning profile and certificate.


Note: The IPA files for the containerized MAF application and the OMSS Workspace application must be generated using the same enterprise provisioning profile and certificate.

Step 6: Set up the OMSS Server Environment

Once you install Oracle Mobile Security Suite, and all the services are up and running, you will be able to move on to the next step (Configure the OMSS Container app (Workspace app)) .

Step7: Configure the OMSS Container app (Workspace app) : 

The following steps are usually performed by an end user.

  1. Launch the Workspace app.

2. Configure the Workspace app.

Enter the configuration URL and tap on the CONFIGURE button.

3. Log in.

Step 8: Make changes to the policy

The following steps are usually performed by an IT Administrator. These steps demonstrate how to make changes to a policy which is assigned to a particular user or a group of users. Learn more about the Oracle Mobile Security Suite Admin Console here

1. Select a policy.

   On the MSAC server, select the Policies tab, and from the list of policies, select the policy that you want to change.

2. Make changes to the policy and save.

   As highlighted in the screenshot below, select the Container/Apps tab, make the following changes, and click Save.

 - Disable Email (Set the email allowed option to No)

 - Disable Print functionality (Set the print allowed option to No)

 - Disable File Sharing (Set the restrict file sharing option to Yes)

 - Disable the ability to copy and paste content  (Set the restrict copy/paste option to Yes).

3. Either wait for a few seconds, OR kill the Workspace app and the containerized app .

   It usually takes a few seconds for the policy changes to get applied to the Workspace container. The alternative way to refresh the policy changes is by killing the Workspace app and restarting it.

4.  Launch the containerized app (in this example, the DeviceDemo app).

To validate the policy changes, we are using the containerized DeviceDemo sample app. You can find more details about this sample here. .Once you launch the DeviceDemo app it will launch the Workspace app. After you log in to the Workspace app, it automatically redirects and restarts the DeviceDemo app.

Step 9: Validate Data Leak Protection

The following steps demonstrate how to validate Data Leak Protection scenarios using the DeviceDemo sample app.

  1. Enable / Disable Email
  2. Enable / Disable File Sharing
  3. Enable / Disable Copy / Paste operation

  1. Enable / Disable Email: 

To validate the policy changes related to Email functionality, navigate to the Email feature, and try to send an email.  You should see the message Email is disabled, as shown below.

 2. Enable / Disable File Sharing 

To validate the policy changes related to restricted file sharing, navigate to the Attachments functionality, select a document from the dropdown list, and tap on the View button.

When the document is displayed, tap on the contextual menu shown on the right side. You should not see any options like Open or Print displayed. The restrict file sharing option controls the ability to open documents in other applications like AirDrop, Dropbox, or Box.

3. Enable / Disable the Copy-Paste operation

To validate the policy changes related to the Copy-Paste operation, navigate to the Attachments feature, select any of the documents, and tap on View. Once the document is displayed, copy the content from the document and try to paste it outside the containerized app (in this case the DeviceDemo sampe app). If the policy is successfully applied, you should not be able to paste the content outside the application.

Thursday Nov 06, 2014

Come and learn how Northumbrian Water embraced Oracle's Mobile Framework

Northumbrian water are responsible for the water and sewage services of 4.5 million people in the UK, and Grant Ronald from Oracle's Mobility and Development Tools Product Management team was fortunate enough to be engaged with them to understand how they embraced mobile to help their customers and employees.  In particular their use of mobile access to Oracle's EBusiness Suite Procurement using Oracle's mobile framework showed a great return in investment by allowing products and parts to be purchased and approved in drastically reduced timescales using mobile.

To help others learn from Northumbrian Water's experience, we are running a live webcast on the 18th November, including interviews with NWs CIO, development and strategy lead, as well as hearing from Oracle's architects who were involved in the project.

A chance to learn directly from a successful MAF implementation running essential services for a leading UK services company.

Tuesday Nov 04, 2014

Don't miss the ODTUG Mobile Day Conference

If you missed OOW but you still want to catch up about what's new and what's upcoming in the world of mobile from Oracle, we highly recommend that you'll attend the upcoming mobile day organized by ODTUG.

A few unique opportunities at the event

  • Mobile strategy keynote with Oracle's VP of mobile strategy
  • Technical session from product managers and Oracle ACEs
  • Topics that range from Oracle MAF, to Oracle APEX, REST services in the DB, Mobile in the BI world and mobile in the cloud
  • Practical architecture discussion and demo by Oracle's A-Team
  • Great networking opportunities

The event is free for ODTUG members - or for $99 get a year membership for ODTUG and entry to the conference.

Register today to secure your sit! See you at Reston on Dec 2nd.


This blog is is dedicated to announcements,tips and tricks and other items related to developing, integrating, securing, and managing mobile applications using Oracle's Mobile Platform. It is created and maintained by the Oracle Mobile product development team.

Archive of past entries

Even More Mobile Development Blogs

Oracle A-Team Site - Mobile Related Entries

Code samples from the Community

Fusion Middleware Blogs


« April 2015