Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
MarcoEidinger
Product and Topic Expert
Product and Topic Expert
This blog post teaches you how to obtain the SAP BTP SDK for iOS binary frameworks (.xcframework) through Swift Package Manager (SPM).

I will also give an overview of existing alternatives.

Swift Package Manager (SPM)


Swift Package Manager is a decentralized dependency manager for Swift projects and is a first-class citizen in the Apple ecosystem.

All binary frameworks, starting from 6.1.15 and 7.0.3, can be consumed with Swift Package https://github.com/SAP/cloud-sdk-ios through Apple's Swift Package Manager (SPM):




  • SAPCommon

  • SAPFoundation

  • SAPFiori

  • SAPFioriFlows

  • SAPOData

  • SAPOfflineOData

  • SAPML


The SDK binaries are hosted in SAP's Internet-facing repository, which requires authenticated access. You must visit the Technical Users' UI Home Page to obtain a technical username/password.

Then add an entry to your .netrc file as follows:
machine rbsc.repositories.cloud.sap 
login sap-xxxxxx
password xxxxxxxxxxxxxxxxxx

In Xcode you can add the Swift Package to your project by navigating to File > Add Packages... >. Use the Search or Enter Package URL field to find the package using the repository URL https://github.com/SAP/cloud-sdk-ios.

You can choose multiple of the following package products to be added to your application/framework target.


Add Frameworks to your application/framework target


For detailed information, please review the README file.

SPM Tips


I recommend using version requirement "Up to Next Minor" so ensure that you get patch releases when clicking "Update to Latest Package Versions" in Xcode.


Choose Version Requirement


If you are using GitHub actions then action-xcodeproj-spm-update might interest you. This action will resolve the Swift Package Manager dependencies within your Xcode project. This can be useful in workflows that want to detect outdated dependencies, or wish to automatically create pull requests updating dependencies.

CocoaPods


CocoaPods is a centralized dependency manager for Swift and Objective-C Cocoa projects.

GitHub repository https://github.com/SAP-samples/cloud-sdk-ios-specs hosts the .podspec files. Credentials are required to download the binary frameworks analog to the distribution through Swift Package Manager.

For detailed information, please review the README file.

SAP BTP SDK Assistant for iOS


The macOS application acts as the central entry point for creating and managing scenario-based applications that implement SDK features, providing SAP Mobile Services integration, and supporting other features, such as API and translation services.

The Assistant automatically adds the binary frameworks to the generated Xcode project.

If you want direct access to the SDK frameworks, open the Assistant's main menu, select Export Frameworks, and choose the desired location on your disk.


Export Frameworks

1 Comment