OpenUI for iOS Manual Xcode Project Setup
To use an existing project or to upgrade an existing Agentry Xcode project, you can manually create the project in Xcode and add the new Agentry Client framework resources. This project is necessary to make use of the OpenUI SDK, as well as to rebrand the Agentry application for iOS.
- Install the supported version of Xcode IDE on the Mac.
- Install SAP Mobile Platform SDK for Mac OS. The Agentry Toolkit folder contains the iOS framework files, installed by default to AgentryToolkit/OpenUISDK/iOS/SMPAgentryClientFramework-iOS-70.x.x.tgz.
- Expand the framework archive SMPAgentryClientFramework-iOS-70.x.x.tgz into a directory on the system.
- In Xcode, create a new project by selecting Create.
. Choose options for the new project, including the name and where
the project is to be created, and click
The directory and project are created, and the project structure appears in the left pane.
Under Branded Client, remove these extra files:
In General, make these settings:
Under Deployment Info:
For Main Interface, make sure the field is empty.
In Deployment Target, set the default iOS device version, typically the most current iOS version, although you can select a slightly older version.
In Device Orientation, typically select all four options ‒ Portrait, Upside Down, Landscape Left, and Landscape Right.
Select Hide status bars.
- Under App Icons and Launch Images, make sure the Launch Screen File field is empty.
- Under Deployment Info:
- In Build Settings, add the Agentry Client Framework.
- Select the project, the main target, then go to Build Settings.
- In Framework Search Path, search for $(SOURCE_ROOT)/.../SMPAGENTRYClientFramework/iOS/, and select recursive search.
- In Framework Search Path, search for $(SOURCE_ROOT)/.../SMPAGENTRYClientFramework/iOS/SMPAgentryClient.framework/Headers/, and select recursive search.
The SampleApp and Samples directories appear.
- In Build Settings, add the Agentry Client Framework headers.
Set the Header Search Path to /<SDK_HOME>/SMPAgentryClientFramework/iOS/SMPAgentryClient.framework/Headers/.
- In Build Settings, set Other Linker Flags to -ObjC -framework SMPAgentryClient.
- In Build Settings, set Strip Linked Product to No.
- In Build Settings, remove stripping from the project settings.
Set In Device Orientation, typically select all four options - Portrait, Strip, Linked, Product to No.
- In Build Settings, set Enable Bitcode to No.
In Build Phases, add libraries. Under Link
Binary With Libraries, click + to add the
following resources to the section:
- Add the resource bundle to the project, located in
- From the Xcode application menu, select .
- Browse to , then add it.
- Modify the main.m file within the project by replacing the application and
app delegate class name for the return statement.
- New application class name: @"SMPAgentryApplication"
- New app delegate class name: @"SMPAgentryClientAppDelegate"
- New return statement: return UIApplicationMain(argc, argv,@"SMPAgentryApplication", @"SMPAgentryClientAppDelegate");
In Info, modify Info.plist so that
view controllers do not determine the style of the status bar.
Under Custom iOS Target Properties, add these privacy
settings for iOS 10 and later:
Privacy - Camera Usage Description
Privacy - Location When in Use Description
Privacy - Photo Library Usage Description
- (Optional) Under Custom iOS Target Properties, add this file sharing setting for iOS 10 and later: Application supports iTunes file sharing. This enables enterprise level file sharing of an encrypted database file.
- Under Custom iOS Target Properties, set View controller-based status bar appearance to No.
- Under Custom iOS Target Properties, add these privacy settings for iOS 10 and later:
- You are ready to build the project. Select the project; specify product clean, and specify the target client.
- After building and launching the project, run the standard Agentry Client in either the simulator or on the client device.
You now have an Xcode project using the resources provided in the Agentry Client framework for iOS. You can now start adding code for your custom adapters, and the Agentry Client picks them up dynamically.