Cross posting for Joe Huang, Oracle Mobile Application Framework Product Team
As everyone probably already known, Apple iOS 8 and iPhone 6/6+ were released with great fanfare, delivering a number of new features. In the past, in general the upgraded phones will continue to run existing applications without any issues. Furthermore, testing against beta versions of the iOS are typically provides accurate feedback on the compatibility between MAF and new iOS. However, unfortunately, this was not the case with iOS 8, as there were some late breaking changing that were introduced only with the GA version of iOS 8 that were sent to all devices as updates. On the Mac itself, application upload check to the Apple AppStore has also changed. Furthermore, Mac 10.9.5 introduced changes in the certificate format, which necessitates further changes and workarounds. Let's look at each one of them more closely:
iOS 8 Support and Impact of Apple AppStore Upload Verification Change
If you are running MAF 2.0.1, you are covered. MAF 2.0.1 has been fully certified against iOS 8. What you will notice, however, is that you may be prompted for allowing "Notifications" when you run the MAF application. This typically shows up during feature navigation. This "Notification" refers to the framework ability to be able to, for example, set badging numbering on the application icon. In older versions of iOS, this permission was automatically granted to the application. In iOS 8, users would be explicitly prompted to allow this. The user may pick "Yes" or "No", and in any case the application should behave as expected. This only showed up in the released version of iOS 8 so it's a late breaking change, but nevertheless it is an expected behavior. In future versions, investigations are underway to see if it's possible to allow developers to more finely control the display of these dialog boxes.
MAF 2.0.1 also addressed a couple of changes Apple introduced when verifying IPA files during the upload process to the iTunes Connect Portal. The Application Loader program in Xcode now perform some extra checks, and MAF 2.0.1 contains the changes that fully comply with these changes.
If you have developed MAF 2.0.0 - MAF 2.0.0 was tested against iOS 8 and we found its behavior to be consistent with MAF 2.0.1 when running iOS 8 devices. Nevertheless, we strongly recommend moving to 2.0.1 as soon as possible, since it contains the latest bug fixes. Furthermore MAF 2.0.0 does not contain the changes necessitated by the changes in the AppStore upload process referenced above. This is detailed in this Blog Article.
For applications built using ADF Mobile, we discovered a critical issue when running on iOS 8 - for which we have already delivered a patch. This issue impacts programmatic feature navigations and login screen navigation - so if you invoke feature navigation programmatically or simply enabled security/login, then you will see application "hang" during navigation to the next feature. It also appears to impact display of custom SpringBoard. To download and apply the patch addressing this hanging issue, please follow the instructions in Oracle Support Document 1929990.1 (ADF Mobile Application Feature Navigation and Login Hanging While Running on iOS8 Devices).
In general, however, please consider moving from ADF Mobile to Mobile Application Framework. Mobile Application Framework contains a number of major enhancements such as new IDE support, and will be the focus of new features going forward.
Mac OSX 10.9.5 Certificate Changes and Workarounds
Mac OSX 10.9.5 (as well as the upcoming Yosemite release) introduced a new certificate format (Version 2). The technical details for Version 2 certificates are outside the scope of this article, but this Apple Technical Note does provide a little background. However, this change does impact MAF developers who have upgraded their Mac to 10.9.5 - the updates can be fairly silent so many of you may have upgraded without knowing it. After upgrading the Mac to 10.9.5, when you try to deploy a MAF application to an IPA file, the deployment will appear to fail, and the last line of the deployment log will state "...resource envelop is obsolete". This issue will be addressed in a patch for MAF 2.0.1 coming shortly. In the meantime, there are two possible workarounds:
- Check to see if there is an IPA file in the "<Application Workspace Directory>/deploy/profile/Destination_Root/Oracle_ADFmc_Container_Application/device" directory. If there is, try to install this IPA file instead and see if that works.
If this file is not available or does not install, then try the following workarounds using Xcode 5.1.x:
1. Deploy from JDeveloper to "Distribution Package"
2. Open Oracle_ADFmc_Container_Template.xcodeproj located in MyApp/deploy/iOS1/temporary_xcode_project
-> This will launch Xcode
3. In Xcode select Product > Destination and select "iOS Device"
4. In Xcode select Product > Archive
->This will create an archive file and will automatically launch Organizer
open to the Archives tab with the archive selected
5. In Organizer select Distribute...
6. Select Save for Enterprise or Ad Hoc Deployment and hit Next
7. Select your provisioning profile, which will most likely be defaulted and hit Export
8. Specify the name and location for the IPA file -> This will create a signed IPA file for deployment or distribution
Mobile technologies are ever-changing, but Oracle is committed to work as fast as possible to support our customers by delivering these changes either as a new release or as patches. Stay tuned on this blog site for any news of future versions and major patches.
Oracle Mobile Application Framework Product Team
To get real time mobile news, follow us @OracleMobile