A Troubleshooting MAF Applications

This appendix describes problems with various aspects of MAF applications, as well as how to diagnose and resolve them.

This appendix includes the following sections:

A.1 Problems with Input Components on iOS Simulators

Text in one field spills in to the next field when navigating input text fields with a mouse. Using the keyboard on the iOS simulator to navigate the fields resolves the issue.

Issue:

On MAF applications deployed to iOS simulators, text entered into one <amx:inputText> component field becomes attached to the beginning of the text entered in subsequent field when navigating from one field to another using a mouse. For example, on a page with First Name, Middle Name, and Last Name input text fields, if you enter John in the First Name field, then click the Middle Name field, and enter P, the text displays as JohnP. Likewise, when you click the Last Name field, and enter Smith, the text in that field displays as JohnPSmith, as shown in Figure A-1.

Figure A-1 Text Values Concatenate in Subsequent <amx:inputText> fields

This image is described in the surrounding text

Note:

This behavior only occurs on iOS simulators and in web pages, not on actual devices.

Solution:

Use the keyboard on the simulator to traverse the input text fields rather than the mouse.

A.2 Code Signing Issues Prevent Deployment

Adding code signing data to the Mach object file resolves the issue of deployment failure caused by code signing errors on the iOS platform.

Issue:

In some iOS development environments, MAF application deployment fails because of code signing errors.

Solution:

To ensure that the MAF application is signed, add code signing data to the Mach-O (Mach object) file by configuring the environment with CODESIGN_ALLOCATE. For example, enter the following from the Terminal:

export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"

For more information, see codesign_allocate(1) OS X Manual Page and OS X ABI Mach-O File Format Reference, both available from the iOS Developer Library (http://developer.apple.com/library/ios/navigation/).

A.3 The credentials Attribute Causes Deployment to Fail

The authentication mode, if defined using the authenticationMode attribute in the connections.xml file, resolves the issue of the credentials attribute causing JDeveloper to cancel deployment.

Issue:

The presence of the credentials attribute defined for the adfmf:feature element in the maf-feature.xml file causes JDeveloper to cancel deployment and write an error similar to the following to the deployment log:

XML validation failed for file
/Users/jsmith/jdeveloper/mywork/MobileApplication/ViewController/src/META-INF/maf-feature.xml.
[12:26:44 PM] The file contains the following errors:
Error (Line 3, Column 44): Attribute credentials not defined on element adfmf:feature
Error (Line 10, Column 49): Attribute credentials not defined on element adfmf:feature
Error (Line 19, Column 51): Attribute credentials not defined on element adfmf:feature
Error (Line 35, Column 69): Attribute credentials not defined on element adfmf:feature
Error (Line 50, Column 65): Attribute credentials not defined on element adfmf:feature
[12:26:50 PM] Deployment canceled.
[12:26:50 PM] ----  Deployment incomplete  ----.
[12:26:50 PM] XML validation failed.

Solution:

When you migrate an application created by ADF Mobile, you must verify that the authentication mode once defined in maf-feature.xml (such as <adfmf:feature id="feature1" name="feature1" credentials="remote">) is now defined using the authenticationMode attribute in the connections.xml file. JDeveloper's audit rules can detect the presence of the credentials attribute and assist you in removing it from the maf-feature.xml file.

Because only the local and remote values are valid for the autneticationMode attribute, do not migrate the value of none (<adfmf:feature id="feature1" name="feature1" credentials="none">) to the authenticateionMode attribute, as doing so will cause the deployment will fail. See Overview of the Authentication Process for MAF Applications.