Set up the Xcode project and build the iOS app set-up-the-xcode-project-and-build-the-ios-app

CAUTION
AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our technical support periods. Find the supported versions here.

AEM Forms provides the complete source code of the AEM Forms app. The source contains all components to build custom AEM Forms app. The source code archive, adobe-lc-mobileworkspace-src-<version>.zip is a part of the adobe-aemfd-forms-app-src-pkg-<version>.zip package on Software Distribution.

To get the AEM Forms app source, perform the following steps:

  1. Open Software Distribution. You require an Adobe ID to log in to the Software Distribution.

  2. Tap Adobe Experience Manager available in the header menu.

  3. In the Filters section:

    1. Select Forms from the Solution drop-down list.
    2. Select the version and type for the package. You can also use the Search Downloads option to filter the results.
  4. Tap the package name applicable to your operating system, select Accept EULA Terms, and tap Download.

  5. Open Package Manager and click Upload Package to upload the package.

  6. Select the package and click Install.

  7. To download the source code archive, open https://<server>:<port>/crx/de/content/forms/mobileapps/src/adobe-lc-mobileworkspace-src-<version>.zip in your browser.

    The source package is downloaded on your device.

The following image displays the extracted contents of the adobe-lc-mobileworkspace-src-<version>.zip.

mws-content

The following table details contents of the adobe-lc-mobileworkspace-src-[version]/ios folder.

Directory
Content
CordovaLib
PhoneGap SDK 6.4.0
AEM Forms
Resources, PhoneGap plug-ins, and application's main module
AEM Forms.xcodeproj
Xcode project for AEM Forms app
www
HTML, CSS, images, and JavaScript files for the AEM Forms app project

For detailed information about Code Signing and adding devices to the iOS Provisioning Portal, see iOS Code Signing Setup, Process, and Troubleshooting.

Build standard AEM Forms app set-up-the-xcode-project

  1. Perform the following steps to set up a project in Xcode and provide a signing identity:

    Log in to your Mac machine that has Xcode and iOS SDK installed and configured.

  2. Copy the adobe-lc-mobileworkspace-src-<version>.zip archive from the downloads folder to [*User_Home*]/Projects/.

  3. Extract the archive in the [*User_Home*]/Projects/[your-project]directory.

  4. Navigate to the [*User_Home*]/Projects/[your-project]/adobe-lc-mobileworkspace-src-[version]/ios directory.

  5. Open the AEM Forms.xcodeproj project in Xcode.

  6. Click AEM Forms, under TARGETS, select AEM Forms. Select the Build Settings tab, locate the Code Signing Entitlement section, and in Debug and Release fields do one of the following:

  7. In the Build Settings tab, click All and then click Combined.

  8. From the Settings list, expand Code Signing.

  9. For Code Signing Identity, select the appropriate signature. For detailed information about, creating new signatures, see Creating and Downloading Development Provisioning Profiles.

  10. Ensure that the same signature is selected for Debug, Release, and Any iOS SDK.

  11. Replace the following code in the AEM Forms-info.plist file:

    code language-java
    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>
    

    with the following while replacing yourserver.com with an appropriate host name for your server.

    code language-java
    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSExceptionDomains</key>
    <dict>
    <key>yourserver.com</key>
    <dict>
    <!-Include to allow subdomains->
    <key>NSIncludesSubdomains</key>
    <true/>
    <!-Include to allow HTTP requests->
    <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
    <true/>
    <!-Include to support forward secrecy->
    <key>NSExceptionRequiresForwardSecrecy</key>
    <false/>
    <!-Include to specify minimum TLS version->
    <key>NSTemporaryExceptionMinimumTLSVersion</key>
    <string>TLSv1.1</string>
    </dict>
    </dict>
    </dict>
    
    note note
    NOTE
    This step is required only if AEM Forms app needs to connect to a server that does not follow App Transport Security requirements.
  12. Under PROJECT, select AEM Forms and ensure that the appropriate signature is selected for Code Signing Identity, Debug, Release and Any iOS SDK.

  13. Connect a provisioned iPad to a Mac machine.

  14. Select the provisioned device for the AEM Forms project.

    ipad

    A provisioned device, iPad Air 2, is selected.

  15. Select Product > Clean.

  16. Select Product > Build.

Build the installer for the AEM Forms app build-the-installer-for-the-mobile-workspace-app

You need to archive the Xcode project to build the installer (an .ipa file) and a property list (a .plist file) file. The property list file contains configuration information of the hosted in-house app, such as the name and the hosting location of the app. For more information about property list file, see About Information Property List Files.

  1. Connect a provisioned iPad to a Mac machine. For detailed information about provisioning an iPad, see Creating and Downloading Development Provisioning Profiles

  2. Select the provisioned device for the AEM Forms project.

    ipad-1

    A provisioned device, iPad Air 2, is selected.

  3. Select Product > Clean.

  4. Select Product > Build.

  5. Select Product > Archive.

  6. In Organizer - Archives, select the latest archive of your project and click Distribute.

  7. Select Save for Enterprise or Ad-Hoc Deployment as the method of distribution and click Next.

  8. Select the appropriate Code Signing Identity and click Next. Click Allow to apply the signature.

  9. Provide name of the app and select Save for Enterprise Distribution.

  10. Provide the Application URL for the app. For example, to host the app on a CRX server, provide URL https://[*LC_host*]:[*port*]/lc/content/distribution/mobileworkspace/APP_NAME.ipa.

  11. In the Title field, specify AEM Forms.

  12. Click Save and close Xcode.

    An installer file, AEM Forms.ipa, and property list file, AEM Forms-info.plist, are created at the specified location.

  13. Open the AEM Forms-info.plist file in an editor.

  14. Replace all the spaces in the URL of your .ipa file with %20.

  15. Save and close the AEM Forms-info.plist file.

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da