Product Information
SAP BTP SDK for iOS distributes binary frameworks as Swift Package
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
thanks Marco, this is a great news, I'll now be able to distribute my framework with this dependancy
I just tested it with SPM and it works great ...
however something to consider, if someones has 5 production apps and 10 POC apps by example (like in my case or maybe more POC)
your derived folder will be 7.5 GB, the problem is the size of the SDK itself, around 500mb, it would be nice if it can be compressed more
still waiting for the blog about the new floorplans and the new data table API 🙂
cheers
alex