Show TOC

MAF Logon Task FlowLocate this document in the navigation structure

To complete this process, you need to get the iOS Native Client SDK libraries. The libraries are available as part of the SAP Mobile Platform Client SDK Installer.

Context

MAFLogon is shipped in the form of separate artifacts such as:
  • statically linked libraries
  • resource bundle folders
  • public header files
Before you can use MAFLogon, you must add associated artifacts. You must also add dependent frameworks and configure your build settings. For the rest of the procedure, we assume that you are starting a new project for iOS. If you are working with an existing project, the steps may vary.
MAFLogon is distributed in separated libraries, resource bundles, and header files
  • Libraries
    • libMAFLogger.a - logging helper classes
    • libMAFLogonManagerNG.a - Logon Core components that implement registration logic
    • libMAFUIHelper.a - utility UI components
    • libMAFZipHelper.a - ZIP utilities
    • libMAFLogonUING.a - Logon integration API with default Logon UI
    • libMAFUIComponents.a - skinnable controls library
  • Bundles
    • MAFLogonManagerNG.bundle - configuration of Logon Core functionalities and localization
    • MAFLogonUING - default Logon UI configuration
    • MAFUIComponents.bundle - skinning configuration and default resources
  • Various header folders

Use this procedure to integrate MAF Logon into your application.

Procedure

  1. Create a new project (or open an existing one) in Xcode.
  2. Add MAFLogon artifacts into your project:
    • libMAFLogger.a
    • libMAFLogonManagerNG.a
    • libMAFUIHelper.a
    • libMAFZipHelper.a
    • libMAFLogonUING.a
    • libMAFUIComponents.a
    • MAFLogonManagerNG.bundle
    • MAFLogonUING.bundle
    • MAFUIComponents.bundle
    • MobilePlace.bundle
    • HttpConvAuthFlows.bundle
  3. Add other required dependencies into your project:
    • libAfariaSLL.a
    • libConnectivity.a
    • libCoreServices.a
    • libDatavault.a
    • libPerformanceLib.a
    • libRequest.a
    • libE2ETrace.a
    • libParser.a
    • libLogger.a
    • libCache.a
    • libsqlcipher.a
    • libClientHubSLL.a
    • libHttpConversation.a
    • libHttpConvAuthFlows.a
    • libClientLog.a
    • libE2ETrace2.a
    • libSupportability.a
    • libPerformanceLib.a
  4. Select your project from the Project Navigator, and choose your application's target.
  5. Open the Build Phases tab and, within Link Binary with Libraries, add the following frameworks:
    • CFNetwork.framework
    • CoreData.framework
    • MessageUI.framework
    • Security.framework
    • QuartzCore.framework
    • Libstdc++.dylib
    • libz.dylib
    • MobileCoreServices.framework
    • SystemConfiguration.framework
    • UIKit.framework
    • Foundation.framework
    • CoreGraphics.framework
    • libsqlite3.dylib
  6. Choose your project, rather than a specific target, and open the Build Settings tab.
    1. In the Other Linker Flags section, add -ObjC and -all_load. If these settings are not visible, change the filter in the Build Settings bar from Basic to All.
    2. In the header search path section, adjust the path to look for public header files. Depending on where you copied the header file, the path string should look something like this:
      $(PROJECT_DIR)/includes/public/**
    3. In the library search path section, adjust the path to look for the binary files. Depending on where you copied the library files, the path string should look something like this:
      $(PROJECT_DIR)/libraries/$(BUILD_STYLE)-universal/**
  7. The MobilePlace UI ships with a Storyboard file. To use this storyboard file, you must import MobilePlace.bundle into your Xcode project. Once that is present:
    1. Open the associated group.
    2. Drag the MobilePlace.storyboard file into a group in your project, anywhere outside of the bundles group.
    3. Make sure that Copy items into destination group’s folder (if needed) is selected.
    This enables you to present the Mobile Place UI.
  8. Open MobilePlace.storyboard in the Xcode Storyboard Editor.
    1. In the File Inspector tab of the right Xcode pane, select the Localization section.
    2. Ensure that Base and English are selected.
    3. Ensure that Localizable Strings is selected from the drop-down list next to English.
  9. To import the translation of the Storyboard UI definition, you must specify all the supported localizations in the Start of the navigation path Project Settings Next navigation step Info Next navigation step Localizations End of the navigation path section.
  10. Add all required languages, and select MobilePlace storyboard. Also select Localizable Strings as the type of the localization.
    Each localization you add creates a copy of the technical language, and should appear under the Storyboard in the project navigator pane. Open the files and copy the content from the corresponding translation file shipped in the MobilePlace.bundle group. You need to override the generated content with the one shipped by SAP.
  11. Add the HttpConvAuthFlows.bundle to your project.
  12. Create your logon handler.
    Create a central class for logon-related work, so your code remains clean.
  13. Integrate logon handler into your app.
    After implementing your logon handler, use a property to hold a reference to it in your AppDelegate singleton.
  14. Present the logon screen.
    To present the MAF Logon UI, adjust your root view controller. Do not change your root view controller interface.