Skip to Content

SAP Cloud Platform SDK for iOS 2.0 SP02

With new release of SAP Cloud Platform SDK for iOS 2.0 SP02 there are new features and feature enhancements introduced in its Assistant application.

Assistant app got a new icon

You would notice a new updated icon for Assistant application itself

SAP Cloud Platform Mobile Services on Cloud Foundry support

SAP Cloud Platform SDK for iOS Assistant now supports Cloud Foundry environment as well with below limitations

  • You currently can’t import Mobile services Cloud Foundry Admin API & Admin UI URL directly into Assistant App like you might have done before from NEO Environments.
  • You can’t edit an Mobile Services Cloud Foundry Admin UI URL in Assistant application under “Accounts”
  • Discovery service support is not yet there
  • Only “Basic Authentication” type is currently supported for adding Mobile Services Cloud Foundry account in Assistant for Admin API access. Apps can support different authentication types like Basic, SAML, OAuth2

SAP Translation Hub supports SAML Authentication

You can now add Translation Hub account with Authentication type as SAML.  This is useful if you have a custom IdP Configured on your SAP Cloud Platform account. Read this blog post to know more on how to add translation to a native iOS app

 

 

OfflineOData capabilities in the generated app

When you create an application using Assistant, in last step under “Optional Features” you would notice one more choice for OData provider ,

“Use Offline OData  (currently only supported for v2 backends)” . You can now access data from offline store in generated app.

Due to limitation in SAPOfflineOData framework, Odata V4 won’t be supported yet, you would come across this error message if you try connecting to V4 Odata service

 

 

Note: Currently, Offline restore is not supported in this release. You may check this blog post in order to make the restore work when app is offline.

Cancellation warning in on-boarding flow

In case you might accidently click on “Cancel” button during onboarding flow, you will be prompted for a confirmation.

Usage and GDPR

Since GDPR (General Data Protection Regulation) introduced by Eurpoean Union effective from 25th May 2018, this release , we have support for Data Privacy consent forms would be there in Assistant generated app. Check my colleague Krishna blog post for more details.

Xcode Project structure

  • README.md file has more information such as links for tutorials, openSAP, TechEd etc.

 

 

  • You will not find json file , wait, it’s renamed to context.json and moved to a hidden directory.sapcpsdk (using shortcut CMD + shift + . (dot) to view hidden files/folders ) . This directory includes all metadata files that are used to generate the proxy classes in a ./metadatasubdirectory.
  • When you add a translation to a project in Assistant, that translated file goes in same .sapcpsdk directory under a newly created folder “translation”

Improved UI in generated app

Generated app looks much nicer now, if you have generated a sample app connecting to sample service (available in Mobile Services) , e.g. you would notice images in object cell for Product collections part of sample OData service in Mobile Services (of course it should be available as media resource from the backend service)
Also, if entities have navigation properties, new UI now allows to follow these associations(up to a level of two hops).

 



SAP Cloud Platform SDK for iOS 2.0 SP01

With new release of SAP Cloud Platform SDK for iOS 2.0 SP01 there are new enhancements and improvements introduced in it’s Assistant application.

Install Tools (ILOData and Proxy Class Generation) in your desired directory

You can also install Tools in your desired directory. Once you launch iOS SDK Assistant application, go to it’s menu (left top). Hover to “Install Tools” while pressing “ALT” or “Option” key , you will 3 dots ( … ), click on it.

 

And then select an installation folder for the ILOData and Proxy Class Generation tools.

Reuse existing project from SAP Translation Hub

Now, you can also reuse existing project from SAP Translation hub while adding a translation to an existing Xcode project via Assistant. For more details, check this blog post

 

Integration with SAP Discovery Service

It’s now easy to integrate with SAP Discovery service via iOS SDK Assistant that enhances the user on-boarding process by letting you distribute initial configuration data to mobile apps. In SAP Cloud Platform Mobile Services Development and Operations, there is a test email domain available by default, when you create an Xcode project (via Assistant), in last step, under “Optional Features”, that domain will be shown up (below screenshot). Please check this blog post for more details

New app icon

Application generated with this SDK 2.0 SP01 Assistant has an new icon.

No passcode screen by default

There will not  be  any passcode screen by default , in other words, you won’t be asked for the passcode anymore. Default Passcode Policy is disabled in OnboardingManager.swift class

 

 

    // StoreManagerStep
    private func configuredStoreManagerStep() -> StoreManagerStep {
        let step = StoreManagerStep()
        // Don't use a local default passcode policy, but load passcode policy from server. If passcode policy is disabled on the server, the app won't be protected with a passcode
        step.defaultPasscodePolicy = nil
        return step
    }

But, you would like to have Passcode policy get enabled in your application, you need to enable it manually by logging to  SAP Cloud Platform Mobile Service for Development and Operations Cockpit. Then these policies will be pulled from Mobile Service on runtime.

 

Introduction of EULA screen

When you launch Assistant generated application in device/simulator, you will come across newly added EULA (End User License Agreement) screen part of default on-boarding flow.

 

 

/// Steps executed during Onboarding.
    private var onboardingSteps: [OnboardingStep] {
        return [
            self.configuredWelcomeScreenStep(),
            SAPcpmsSessionConfigurationStep(),
            self.configuredOAuth2AuthenticationStep(),
            SAPcpmsSettingsDownloadStep(),
            self.configuredEULAStep(),
            self.configuredStoreManagerStep(),
        ]
    }
 
 
    // EULAStep
    private func configuredEULAStep() -> EULAStep {
 
        // TODO: Write your own end user agreement here
        let eulaTitle = "EULA"
        let eulaContentText = "You can write your own custom EULA agreement here."
 
        let paragraphStyle = NSMutableParagraphStyle()
        paragraphStyle.alignment = NSTextAlignment.justified
        let attributes = [
            NSAttributedStringKey.paragraphStyle: paragraphStyle,
            NSAttributedStringKey.baselineOffset: NSNumber(value: 0),
            NSAttributedStringKey.font: UIFont.systemFont(ofSize: 17.0),
        ]
 
        let content = NSAttributedString(string: eulaContentText, attributes: attributes)
        let eulaContent = EULAContent(title: eulaTitle, content: content, version: "1.0")
        return EULAStep(eulaContent: eulaContent)
    }

You can implement or write your own custom EULA in above mentioned method or import it from a file system or a server.

Check below resources for more information:

 

Help Documentation

What’s new in SAP Cloud Platform SDK for iOS 2.0 SP01

SAP Discovery Service integration in SAP Cloud Platform SDK for iOS

SAP API Business Hub Integration – SAP Cloud Platform SDK for iOS 2.0

From API to App: Assistant tool generates mobile app scaffolding from a Backend API

 

Jitendra Kansal

Product Management, SAP Cloud Platform User Experience
SAP SE

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply