A Troubleshooting
This appendix describes problems with various aspects of mobile applications, as well as how to diagnose and resolve them.
This appendix includes the following sections:
-
Section A.1, "Problems with Input Components on iOS Simulators"
-
Section A.4, "The credentials Attribute Causes Deployment to Fail"
A.1 Problems with Input Components on iOS Simulators
Issue:
On mobile 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.
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 The Geographic Map Component Limits Number of Address Points
Issue:
The Geographic Map component is unable to resolve all address points when Google maps are used as the map provider. This problem is caused by the license that allows users without the business license only limited access to the geocoding service that enables address resolution.
Solution:
MAF provides a handler for error messages produced by the geocoding service. These messages are displayed at runtime if the maximum allowed number of address points is exceeded. The number of requests is limited to 10 requests per second and redundant requests are not sent to the geocoding API.
You should monitor error messages listed in Table A-1.
Table A-1
Error ID | Message | Description |
---|---|---|
|
GeoCoder quota has been exceeded. |
Indicates that you are over your quota. |
|
Request denied! Check your API key and client ID. |
Indicates that the request was denied, possibly because the request includes a |
A.3 Code Signing Issues Prevent Deployment
Issue:
In some iOS development environments, mobile application deployment fails because of code signing errors.
Solution:
To ensure that the mobile 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.4 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 cancelled. [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 Section 21.3, "Overview of the Authentication Process for Mobile Applications."