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

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

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

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. For more information, see Overview of the Authentication Process for MAF Applications.