A Mac OS computer is required to build and sign iOS apps. Creating an iOS app requires the Manage Apps permission.
The following items are required to build and sign an iOS app:
- App icon: 180x180-pixel PNG image.
- Splash screens: 1536x2048, 2048x1536, 640x960, 640x1136, 1242 x 2208, and 2208 x 1242-pixel PNG images.
- .p12 development certificate (for building a test app) or a .p12 distribution certificate (for submitting to Apple). You must also specify the password when signing the app.
- Development provisioning profile that includes device IDs for testing or a distribution provisioning profile for submitting to Apple.
For information about creating the required certificates and files, see iOS publishing guide for AEM Mobile.
Your project settings include several options that determine app features and behavior. For example, you can enable social sharing, article preview, and direct entitlement in project settings.
It is not necessary to make these project settings before you create the app. When you edit project settings, those changes are automatically reflected in your app.
For details, see Creating projects for AEM Mobile.
When the app build is complete, you can click the link to download the unsigned app. You cannot load an unsigned app to a device or submit it to any store.
For information about signing the app, see Signing iOS and Android apps for AEM Mobile.
Bundle ID The Bundle ID is the ID you specify when you create the App ID in the iOS Developer Center. We recommend that you use a reverse DNS format such as com.company.application. For example, com.adobe.inspire is the App ID for Adobe Create.
Versioning The Override the App Version Number option is necessary if you are updating an app and you used DPS App Builder or a different tool to create an existing app. Select this option and specify a more recent version number. For information on obtaining the app version number, see Changing the AEM Mobile app version number.
Enable Background Audio Playback Select this option only if you create InDesign-based articles that use the background audio option in an audio overlay. Note that background audio continues to play even when users exit the app; users pause and stop the audio using iOS system controls.
If you select this option and don't provide background audio in your app content, Apple might reject your app.
Enable Newsstand Even though Apple removed Newsstand with the iOS 9 release, this option is still available while Newsstand is supported. However, we do not recommend enabling your app with Newsstand unless you have a compelling reason to do so. If you do enable Newsstand, make sure that your App ID on the Apple Developer Portal is configured to enable Newsstand as well.
Show Analytics Opt-in Dialog Box If you select this option, your customers can opt out of data tracking. They can use app settings to opt in or out at any time. This option is especially useful for regions in which you are obligated to allow users to opt out of data tracking.
Supported Devices You can make your app iPhone-only, iPad-only, or universal.
Tablet App Orientation/Phone App Orientation Specify the orientation for the tablet version of the app and the phone version of the app. Choose Landscape, Portrait, or Both.
If you choose the “Both” option, browse pages, HTML articles, and smooth scrolling PDF articles fill the screen in either orientation. InDesign-based or PDF-based fixed-layout articles are letterboxed to fit the screen when users rotate the device away from the article’s target orientation.
Enable Preflight If this option is selected, the testing app you create displays all valid content, published or unpublished. Use this option only for previewing unpublished content, not for submitting to the App Store. For details, see Previewing project content for AEM Mobile.
If you select Enable Preflight, sign the app using a development certificate, not a distribution certificate.
HTTPS Connectivity At some point in the future, Apple plans to require all apps to connect securely to servers. To be compliant with this App Transport Security (ATS) requirement, AEM Mobile apps that connect to web content through hyperlinks, entitlement calls, or other URL links should use HTTPS instead of HTTP. To use HTTPS domains, select the Only allow HTTPS connections option. If this option is selected, HTTP content will fail to load in your app. This includes any HTTP-hosted content accessed from dynamic banners, HTML articles, web overlays, or the in-app web browser. Once Apple enforces the security requirement, if you do not select this option and continue to use HTTP domains, you might need to justify your use of HTTP to Apple during the app submission process.
If you select Only allow HTTPS connections, build a development version of your app and test it thoroughly. Make sure that hyperlinks, dynamic banners, and sign-in features work properly. In addition, to ensure that analytics data is reported properly, go to the Adobe Mobile Services Dashboard and configure your app settings to use HTTPS. (See Analytics for AEM Mobile apps: Configuring Mobile Marketing app settings.)
App Icon. Specify a 180x180 PNG file. See Building AEM Mobile app icons and launch images.
Splash Screens. Specify 1536x2048, 2048x1536, 640x960, 640x1136, 1242 x 2208, and 2208 x 1242 PNG images for splash screens. You can drag and drop multiple files from Finder.
For information about Cordova plug-ins such as File Access and Geolocation, see Using Cordova plug-ins in AEM Mobile.
WKWebView – You can enable the WKWebView plug-in in order to render HTML files the same way they render in Mobile Safari. This option uses WKWebView (WebKit) instead of UIWebView for HTML articles and web overlays on iOS 9 devices. An app running on iOS 8 devices will still render content using UIWebView.
To test your HTML content and determine whether you want to enable this option in your app, choose the WKWebView option from the Settings menu in the AEM Preflight app—when the new version is approved—and preview your HTML content.
In general, you should rebuild your app for these reasons:
- To edit an app setting, such as changing the app icon.
- To take advantage of new viewer features or bug fixes in the latest release.
- To use newly uploaded fonts or changes to app customization features. See Customizing AEM Mobile apps.
- To include any changes made in the Mobile Marketing apps settings.
When you change nearly all project settings, you do not need to update your app. For example, you can specify store settings, set up entitlement, add subscription and product IDs, and enable social sharing without having to update the app. One exception to this rule is uploading fonts for cards. Fonts are built into the app, so you need to rebuild the app to use new fonts.
To rebuild an app, do this:
- Select the app in the Apps section of the On-Demand Portal and click the edit (pencil) icon.
- Make any changes, and click Submit.
- Download and sign the app.
Doing this rebuilds the app with the newest viewer code.
You can create iOS apps for internal distribution only. An enterprise signed viewer app is distributed within the company—usually through a mobile device manager (MDM)—rather than downloaded from the Apple Store.
A subscription to Apple’s iOS Developer Enterprise Program is required to create an enterprise signed viewer app. An Apple enterprise subscription removes the 100-device limit for development apps.
- Sign in to the Apple iOS Dev Center using an enterprise ID, and create an enterprise .p12 certificate and provisioning profiles. For details about creating enterprise certificates, see the Apple documentation.
- Build the app, download it, and sign it using the enterprise certificate and provisioning profiles.
- Use an MDM or other method to distribute the app within your organization.
Push notifications in enterprise apps
Your enterprise certificate does not have a Bundle ID for a specific app associated with it. That allows you to use the same enterprise certificate to sign and distribute multiple apps within your organization. For push notifications, you need to build a push certificate that matches the app's Bundle ID so that the push notification targets a specific app.