sap/cloud-sdk-ios
> This Swift Package distributes the SAP BTP SDK for iOS binary frameworks and informs you about related open-source Swift Packages.
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: request and use an internal S-User as described here <img src="https://github.com/SAP/cloud-sdk-ios-podspecs/blob/resources/gif/GetCredentialsFromRepo.gif?raw=true" width=600>
Installing credential
Open, or create a new file at ~/.netrc.
Add an entry which includes the username password credential pair, as follows:
machine rbsc.repositories.cloud.sap
login sap-xxxxxx
password xxxxxxxxxxxxxxxxxxThe 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 <kbd>File </kbd> > <kbd>Add Packages... </kbd> >. Use the <kbd>Search or Enter Package URL</kbd> 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.
<img width="774" alt="ChoosePackageProducts" src="https://user-images.githubusercontent.com/4176826/163604677-00a3616b-a351-4a2f-abc8-d57bc87f40fb.png">
Troubleshooting
Caching
SwiftPM's caching might be incorrect on your machine and can cause error messages, also in Xcode, during package resolution. You then can see error messages such as invalid archive returned from 'https//rbsc.respositories.cloud.sap/nexus3/...
[ExampleErrorMessages]
To fix the issue please close Xcode and run the following commands to clear your local caches:
rm -rf $HOME/Library/Caches/org.swift.swiftpm/rm -rf $HOME/Library/org.swift.swiftpm
Licensing
The download of the SAP BTP SDK for iOS binary frameworks is powered by SAP's Repository-Based Shipment Channel. RBSC grants access to these repositories based on a license check. License information is based on the purchased software and is attached to your S-user account.
If you receive an HTTP 403 Forbidden then please check your current licenses as described here to ensure that your user has a license for the proper product version.
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.
Digital Signature of Frameworks
SAP SE signs the XCFrameworks from SAP BTP SDK for iOS with Team ID "7R5ZEU67FQ".
Note: Xcode 15 and above will automatically verify your app's dependencies and protect your supply chain integrity by alerting you if an issue is detected. Xcode shows a section in the Inspector that displays the signature status for the XCFrameworks you include within your app.
<img width="249" alt="image" src="https://github.com/SAP/cloud-sdk-ios/assets/22234359/1eb8e90d-4da5-4ed1-af75-2281b4f62db9">
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 adhere to SAPs contribution guidelines.
Maintainers: Updating the package
- Ensure that your
.netrcfile is set up (see the Configuration section above). - Clone / fork & clone the repository
- Open update_version.sh
- 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 <kbd>File</kbd>, then <kbd>Add Packages... </kbd>. Click the <kbd>+</kbd> > button, choose <kbd>Add Swift Package Collection</kbd>, paste this URL and click <kbd>Load</kbd>.
You can now add packages from our collection to your project by selecting one and clicking <kbd>Add Package</kbd>.
Package Metadata
Repository: sap/cloud-sdk-ios
Default branch: main
README: README.md