Swift Packages provided by the SAP BTP SDK for iOS
This Swift Package distributes the SAP BTP SDK for iOS binary frameworks and informs you about related open-source Swift Packages.
The BTP SDK for iOS enables you to quickly develop your native apps with Swift. The SDK extends the standard Swift Apple iOS frameworks with the reusable UI components from the SAP Fiori for iOS Design Language. It provides APIs which seamlessly integrate apps with SAP BTP services.
The SAP BTP SDK for iOS frameworks and components are self-contained blocks of specific functionality, allowing developers to choose and implement only the features required for their mobile apps.
The following binary frameworks can be consumed with this Swift Package through Apple’s Swift Package Manager (SPM):
SAPCommon includes commonly used service and logging components.
SAPFoundation Includes general purpose components that integrate with both device and SAP Mobile Services features and capabilities, such as authentication, connectivity, caching, security, and so on.
SAPFiori enables SAP Fiori for iOS as a design language to unify iOS and SAP Fiori features to optimize the user experience in enterprise applications.
SAPFioriFlows to develop complex but typical application onboarding scenarios.
SAPOData provides online access to exposed back-end OData services without any caching or local storage of data. This is best suited when the application requires up to date back-end data and has reliable connectivity.
SAPOfflineOData retrieves back-end OData services when the app is online, then creates an Offline OData store which is initialized and populated with a list of defining queries. The store is persisted on the device (offline). Device users manipulate the local data (query, update, create, delete, and so on), then later upload the offline changes to the back-end. SAPOfflineOData provides additional functions required for Offline OData: creating the offline store, sending pending modification requests to SAP Mobile Services/back-end, refreshing the offline store as needed, removing data from and deleting the offline store and releasing resources after the last use of the offline store, and so on. An offline application is well suited when connectivity may become unreliable, or requires infrequent updates of back-end data.
SAPML for developing machine learning features in apps, including drop-in UI components for text recognition, topology APIs for easy searching and filtering of text observations, and Core ML model management APIs for distributing custom Core ML models hosted on the SAP Mobile Services to the app.
Note: We are also currently developing a new set of open-source libraries directly as Swift Packages:
FioriSwiftUI as the SwiftUI implementation of the SAP Fiori for iOS Design Language, and is meant to augment and, in some cases, replace the UIKit-based implementation contained in the SAPFiori framework. Repository Link
FioriAR as the implementation of augmented reality patterns, like AR Annotations, in the SAP Fiori for iOS Design Language. Repository Link
SAPCAI to initiate and render conversations from SAP Conversational AI natively. Repository Link
Configuration
Obtaining Technical user & password
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.
SAP Customers & Partners: use your S-User credentials
SAP Employees: use your SAP email username & GLOBAL credentials
Installing credential
Open, or create a new file at ~/.netrc.
Add an entry which includes the username password credential pair, as follows:
The netrc credential technique is a stand cURL API. For complete documentation, see gnu.org.
Usage
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.
Limitations
This service is not available for Trial versions of the SDK.
Quoting the SAP support site, “you can download the SAP products that are associated with your S-user ID. While every visitor can browse the list of software products without any special permissions, downloading files requires the Software Download authorization; to request it, contact a user administrator in your company.” This restriction also applies to the cloud shipment channel.
Known Issues
None.
How to obtain support
For an issue related to the contents of this repository, please file an Issue.
For issues related to any of the referenced resources and binaries, please file a support ticket to SAP through the regular channels.
Contributing
If you wish to make a contribution to the repository, please submit a Pull Request. It will be reviewed by the maintainers, however, we cannot commit to merging all contributions.
Maintainers: Updating the package
Ensure that your .netrc file is set up (see the Configuration section above).
In line 3, change VERSION="x.x.x" to the version you want to update to. Please make sure the version is available in the SDK cloud shipments
Note: download URL and minimum deployment target may change with major release and has to be adjusted in script update_version.sh then.
Run the script
Make sure that the newly computed checksums are all different. If some checksums are the same it is an indicator for a failed download (e.g. file not present for this version)
Commit your changes and file a pull request
Using Package Collection in Xcode 13
In Xcode, choose File, then Add Packages... . Click the + > button, choose Add Swift Package Collection, paste this URL and click Load.
You can now add packages from our collection to your project by selecting one and clicking Add Package.
Swift Packages provided by the SAP BTP SDK for iOS
The BTP SDK for iOS enables you to quickly develop your native apps with Swift. The SDK extends the standard Swift Apple iOS frameworks with the reusable UI components from the SAP Fiori for iOS Design Language. It provides APIs which seamlessly integrate apps with SAP BTP services.
The SAP BTP SDK for iOS frameworks and components are self-contained blocks of specific functionality, allowing developers to choose and implement only the features required for their mobile apps.
The following binary frameworks can be consumed with this Swift Package through Apple’s Swift Package Manager (SPM):
SAPCommon
includes commonly used service and logging components.SAPFoundation
Includes general purpose components that integrate with both device and SAP Mobile Services features and capabilities, such as authentication, connectivity, caching, security, and so on.SAPFiori
enables SAP Fiori for iOS as a design language to unify iOS and SAP Fiori features to optimize the user experience in enterprise applications.SAPFioriFlows
to develop complex but typical application onboarding scenarios.SAPOData
provides online access to exposed back-end OData services without any caching or local storage of data. This is best suited when the application requires up to date back-end data and has reliable connectivity.SAPOfflineOData
retrieves back-end OData services when the app is online, then creates an Offline OData store which is initialized and populated with a list of defining queries. The store is persisted on the device (offline). Device users manipulate the local data (query, update, create, delete, and so on), then later upload the offline changes to the back-end. SAPOfflineOData provides additional functions required for Offline OData: creating the offline store, sending pending modification requests to SAP Mobile Services/back-end, refreshing the offline store as needed, removing data from and deleting the offline store and releasing resources after the last use of the offline store, and so on. An offline application is well suited when connectivity may become unreliable, or requires infrequent updates of back-end data.SAPML
for developing machine learning features in apps, including drop-in UI components for text recognition, topology APIs for easy searching and filtering of text observations, and Core ML model management APIs for distributing custom Core ML models hosted on the SAP Mobile Services to the app.Note: We are also currently developing a new set of open-source libraries directly as Swift Packages:
FioriSwiftUI
as the SwiftUI implementation of the SAP Fiori for iOS Design Language, and is meant to augment and, in some cases, replace the UIKit-based implementation contained in theSAPFiori
framework. Repository LinkFioriAR
as the implementation of augmented reality patterns, like AR Annotations, in the SAP Fiori for iOS Design Language. Repository LinkSAPCAI
to initiate and render conversations from SAP Conversational AI natively. Repository LinkConfiguration
Obtaining Technical user & password
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.
Installing credential
Open, or create a new file at
~/.netrc
.Add an entry which includes the username password credential pair, as follows:
The netrc credential technique is a stand cURL API. For complete documentation, see gnu.org.
Usage
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.
Limitations
This service is not available for Trial versions of the SDK.
Known Issues
None.
How to obtain support
For an issue related to the contents of this repository, please file an Issue.
For issues related to any of the referenced resources and binaries, please file a support ticket to SAP through the regular channels.
Contributing
If you wish to make a contribution to the repository, please submit a Pull Request. It will be reviewed by the maintainers, however, we cannot commit to merging all contributions.
Maintainers: Updating the package
.netrc
file is set up (see the Configuration section above).VERSION="x.x.x"
to the version you want to update to. Please make sure the version is available in the SDK cloud shipmentsupdate_version.sh
then.Using Package Collection in Xcode 13
In Xcode, choose File, then Add Packages... . Click the + > button, choose Add Swift Package Collection, paste this URL and click Load.
You can now add packages from our collection to your project by selecting one and clicking Add Package.