Skip to Content
Product Information
Author's profile photo Marco Eidinger

SAP BTP SDK for iOS 7.0 is available

Release announcement: SAP BTP SDK for iOS 7.0 is now available

Santa’s elves were overworked this year, and hence this present comes a little late, but we hope the wait was worth it. Version 7.0 is released!!! ๐ŸŽ‰๐Ÿฅณ

SAP%20BTP%20SDK%20Assistant%20for%20iOS%20is%20available%20in%20version%207.0.0

SAP BTP SDK Assistant for iOS is available in version 7.0.0

You can download the SDK and its Assistant from the Software Centerย or theย downloads section on develeopers.sap.com.

This version supports iOS 14+ and Xcode 13.

The new version has all sorts of goodies and I encourage you to read the What’s New document ย and our updated API reference documentation.

Here are some of the new features provided by the SDK.

Highlights

M1 Support

Ahh, yesssss. Finally, support for Apple Silicon ARM simulators ๐Ÿ˜Œ.

Use the SAP BTP SDK for iOS frameworks on Mac computers with Apple silicon without the need for Rosetta.

Cross Context SSO with OAuth

The cross context SSO feature makes onboarding easier for users by transferring OAuth tokens from an established session to their mobile app built with the SAP BTP SDK for iOS.

Enable%20Cross%20Context%20SSO%20in%20SAP%20Mobile%20Services

Enable Cross Context SSO in SAP Mobile Services

For example, a user opens the SSO onboarding URL on their desktop. The user can open the native app, navigate to the QR code scanning screen, and scan the QR code before it expires. If successful, the native app will get onboarded automatically. The user does not have to enter their credentials again.

QR%20Code%20was%20scanned%20by%20mobile%20app

QR Code was scanned by mobile app

 

Here is a video demonstrating the user experience on iPad with an app generated by the SAP BTP Assistant SDK for iOS 7.0

Demo%20on%20iPad

Demo on iPad

 

New color palette, typeface, and large title for SAP Fiori for iOS

We are bringing the award-winning typeface 72, explicitly designed for SAP and SAP Fiori, to iOS! Together with a new color palette (.latest palette version is v6), removing contrast background for specific components (FUIObjectHeader, FUIProfileHeader, FUIKPIHeader, FUINavigationBar) and enabling large title by default this gives a fresh look and feel. ๐Ÿ˜Ž

Generated%20App%20through%20SAP%20BTP%20SDK%20for%20iOS%20Assistant

Notice the large titles ?!

Application Versioning

Administrators can activate or deactivate specific versions of an application in SAP Mobile Services. The SAP BTP SDK for iOS provides ApplicationVersionObserver in SAPFoundation and ApplicationVersionStep in SAPFioriFlows to stop the user from onboarding if the version of the application is inactive.

Maintain%20Applications%20Versions%20in%20SAP%20Mobile%20Services

Maintain Applications Versions in SAP Mobile Services

Lock App Based on Timeout in Passcode Policy

Administrators can maintain a Lock Timeout as part of the passcode policy configuration in SAP Mobile Services. Previously this information was ignored by the SDK. Now the SDK will enforce this setting by calling ApplicationUIManaging.hideApplicationScreen(completionHandler:)(if implemented by the app) when the user leaves the app in background for longer than the lock timeout allows.

Lock%20Timeout%20in%20Settings%20Exchange%20accessible%20through%20SAP%20Mobile%20Services

Lock Timeout in Settings Exchange of SAP Mobile Services

Conclusion

On behalf of the SAP BTP SDK for iOS team I wish you a happy New Year and a great start in 2022 !

 

Assigned Tags

      8 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Alexandre Giguere
      Alexandre Giguere

      Hi Marco, great

      right now my client don't want moving forward with changing all navigation bar to white and using big titles, how can prevent this (not using the new v6 color palette) ?

      the macos assistant has a bug when I click on file and Install Generator CLI it ask me to grant permission which I granted and after I got an error message, already created an incident for it

      also when launching the assistant it freeze for 10 sec before being responsive

      thanks and happy new year!

      alex

      Author's profile photo Marco Eidinger
      Marco Eidinger
      Blog Post Author

      Hi Alex,

      Happy New Year!

      In version 7.0, you see the beginning of Fiori for iOS design guidelines changes. Some changes are mandatory for all applications using the Fiori for iOS design to ensure consistency. Some changes are optional and configurable.

      Large titles are optional but encouraged and therefore 'on' by default. You can disable large titles by setting `prefersLargeTitles` on UINavigationBar to false (or set `largeTitleDisplayMode` to never on navigationItem of each view controller).

      The background color change for the navigation bar is mandatory and cannot be changed. Your client can prepare to adopt such changes and delay the production upgrade to version 7.0 until then.

      I asked one of our experts to review your incident regarding the Assistant. We changed the Assistant macOS application to be a sandboxed application, and the Assistant no longer has access to the entire file system. I recommend checking if you have actual permission to copy files to folder "/usr/local/bin". If not, you can copy the files to a different location by pressing the option key, selecting "Install Tools" or "Install Generator CLI", and selecting a folder to which you have permission to copy files.

      The team is looking actively into reducing the time of unresponsiveness during the Assistant startup.

      On behalf of the team, I apologize for any inconvenience.

      Warm regards,
      Marco

       

      Author's profile photo Alexandre Giguere
      Alexandre Giguere

      Hi Marco, thanks, ok no problem ...

      No problem for the nav bar color, I understand consistency is super important in design and totally agree ๐Ÿ™‚

      I know it would be a major effort for your teams, but it would be nice to see the iPad companion app and the experience Fiori design guideline site reflecting these new UI changes (all screenshots)

      For sapcpsdk-proxygenerator, what I don't understand is that I have installed almost all past macos update (6.x.x) and install the CLI without any permissions problems, how comes the permission problems only occurs with SDK 7 ?

      currently the folder permission of my /usr/local/bin is drwxr-xr-x

      I always used the CLI generator vs the macos app itself, one thing that is not clear is when I install a new version of the assistant app, do I need to explicitly go to file and install the CLI generator ?

      Also is there a way to know which version the CLI generator I have under my /usr/local/bin

      it would be nice to have a CLI option something like sapcpsdk-proxygenerator --v

      for copying, I am not sure to follow your instruction (option key, selecting "Install Tools" ...), where ?

      the files have been copied to /Users/Shared/SAPbtpSDKassistantForIOS-Resources/7.0.0/

      sorry that's a lot of question

      thanks

       

       

      Author's profile photo Marco Eidinger
      Marco Eidinger
      Blog Post Author
      Hi Alex,

      I agree that the iPad companion app (Fiori Mentor) and that https://experience.sap.com/fiori-design-ios/ shall be updated simultaneously. Those are maintained by other teams within SAP and I forwarded your request.

      The Assistant macOS application was changed to be a sandboxed application with release 7.0 and that is the reason why you are facing problems now and not earlier. In earlier versions the Assistant macOS application had access to the entire file system.

      if you do not use command line tool `sapcpsdk-proxygenerator` but rather use the Assistant to generate a new project with Proxy classes then you do not have to install the command-line tool.

      If you do want to use the command line tool `sapcpsdk-proxygenerator` then explicit installation is required.

      Default location for tools installation is /usr/local/bin folder.

      If you do not have write permission for this folder then you can either
      1. Install tolls in a different folder
      2. Change permissions (may not be possible)

      For option 1 press and hold the option key on your keyboard while selecting "Install Tools" from the menu. This allows yo to choose a different folder in which the tools will be installed.

      Here is a video which should explain the procedure: https://video.sap.com/media/t/1_mvyyozey

      For option 2 change the ownership of the directory to your user with the following command: sudo chown -R $(whoami) /usr/local/bin
      And make sure that your user has write permission: chmod u+w /usr/local/bin

      I agree that an option to determine the version of command-line tool `sapcpsdk-proxygenerator` would be great. I'll check with the team if/when this can be added. As of now, once you run `sapcpsdk-proxygenerator` to generate proxy classes you'll see in the console which OData framework version is used by the command-line tool.

      Kind regards,
      Marco
      Author's profile photo Alexandre Giguere
      Alexandre Giguere

      Hi Marco, thanks for the information

       

      I prefer option 2 since the previous version of the Generator CLI was installed there and I would like to keep it there ...

      I changed the ownership of the directory to my user with your directive and installed the CLI successfully

      However, I am not sure if it's a best practice to do that (usr/local/bin owned by my user vs root)

      after I set it back to root with the same command

      sudo chown -R root /usr/local/bin

       

      thanks

      Alex

      Author's profile photo Alisdair Templeton
      Alisdair Templeton

      Hi Marco,

      Sorry for coming onto this thread late - I've only just had a chance to look at the 7.x release ๐Ÿ™‚

      I'm having an issue with the install. Basically the 7.0 assistant won't start - the crash report says:

      ...

      Crashed Thread: 0 Dispatch queue: com.apple.main-thread
      
      Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
      Exception Codes: 0x0000000000000001, 0x0000000000000000
      Exception Note: EXC_CORPSE_NOTIFY
      
      Termination Reason: Namespace SIGNAL, Code 4 Illegal instruction: 4
      Terminating Process: exc handler [8703]
      
      Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
      0 SAP BTP SDK Assistant for iOS 0x10cb11b63 specialized LandingPageSplitViewController.getAccessToPastProjects() + 1203
      1 SAP BTP SDK Assistant for iOS 0x10cb10794 LandingPageSplitViewController.viewWillAppear() + 132
      2 SAP BTP SDK Assistant for iOS 0x10cb10828 @objc LandingPageSplitViewController.viewWillAppear() + 24
      3 AppKit 0x7ff820eec339 -[NSViewController _sendViewWillAppear] + 40
      
      ...

      Happy to share the whole report if that helps the team.

      If I revert back to 6.x it runs correctly and with no issue. My guess is that it's a permissions thing maybe? Something that has changed between 6 and 7. Any assistance would be greatly appreciated! I'm using macOS 12.1

      Al Templeton.

       

      Author's profile photo Krishna Murthy Bukkapatnam
      Krishna Murthy Bukkapatnam

      Hi Al,

      This crash is occurring in 7.0 when there is past project that was created in a directory with spaces present in its path. The issue is fixed and will be part of our next patch (7.0.1). We regret the inconvenience caused.

      Thanks and Regards,
      Krishna.

      Author's profile photo Alisdair Templeton
      Alisdair Templeton

      Hi Krishna

      Thanks so much for the update - will keep an eye out for the 7.0.1 drop. I *should* be able to get past the issue if I changes some of my project paths I guess - will see what happens

      Thanks again

      Al T