Example applications are a great way to explore the headless capabilities of Adobe Experience Manager (AEM). This iOS application demonstrates how to query content using AEM’s GraphQL APIs using persisted queries.
iOS SwiftUI app with AEM Headless
View the source code on GitHub
The following tools should be installed locally:
Xcode 9.3+ (requires macOS)
The iOS application works with the following AEM deployment options. All deployments requires the WKND Site v2.0.0+ to be installed.
AEM as a Cloud Service
Local set up using the AEM Cloud Service SDK
AEM 6.5 SP13+ QuickStart
The iOS application is designed to connect to an AEM Publish environment, however it can source content from AEM Author if authentication is provided in the iOS application’s configuration.
How to use
Clone the adobe/aem-guides-wknd-graphql repository:
$ git clone firstname.lastname@example.org:adobe/aem-guides-wknd-graphql.git
Launch Xcode and open the folder ios-app
Modify the file Config.xcconfig file and update AEM_SCHEME and AEM_HOST to match your target AEM Publish service.
// The http/https protocol scheme used to access the AEM_HOST
AEM_SCHEME = http
// Target hostname for AEM environment, do not include http:// or https://
AEM_HOST = localhost:4503
If connecting to AEM Author, add the AEM_AUTH_TYPE and supporting authentication properties to the Config.xcconfig.
The AEM_USERNAME and AEM_PASSWORD authenticate a local AEM user with access to WKND GraphQL content.
AEM_AUTH_TYPE = basic
AEM_USERNAME = admin
AEM_PASSWORD = admin
The AEM_TOKEN is an access token that authenticates to an AEM user with access to WKND GraphQL content.
AEM_AUTH_TYPE = token
AEM_TOKEN = abcd...0123