What's New¶
What's New in Version 25.8.3¶
SAPFoundation 25.8.3¶
- The Bytes API now handles many concurrent calls more efficiently.
SAPFiori 25.8.3¶
- Fixed the layout issue in
setFioriStyleToolbarItemsforUIBarButtonItemwithcustomViewon iOS 26. - The
FUIDatePickerFormCellnow supports providing hints when the cell is expanded or collapsed. - Fixed delegate implementation typos in test app
- Fixed the issue where the background of Object Cell tags shifts when you change the
headlineText. - Add an attachment controller parameter to the add and take photo delegate functions.
- Fixed the text alignment issue for footnotes in
FUIObjectTableViewCell. - Fixed the issue where the rating was invisible when there were no tags in the object cell.
- The
FUISwitchFormCellanimation is enhanced on iOS 26. - Fixed the issue where the status text was being truncated for
FUIObjectTableViewCell. - The sync icon in
FUIProgressBannerMessageViewnow rotates clockwise by default. - The text color for the
FUIDatePickerFormCellvalue is now fixed.
SAPOfflineOData 25.8.3¶
- Fixed an issue where a session timeout during SAML authentication triggered duplicate login prompts when starting a sync.
Assistant 25.8.3¶
- Enhanced compatibility with Xcode 26 by resolving
WidgetKitcompilation issues. CorrectedCFBundleIdentifierconfigurations in destination frameworks.
What's New in Version 25.8.2¶
SAPFiori 25.8.2¶
- Fixed an issue where non-interactive elements received focus when using a Bluetooth keyboard.
- Fixed an issue where custom styling for
FUIButtondidn't apply in their pressed-down states. - Keyboard navigation now correctly focuses on the
rightViewinFUITextField. - Fixed an issue with
FUIObjectTableViewCell: it now supports setting accessibility labels for headline, subheadline, and footnote texts. - Support for dynamic type is now available in
FUITouchIDView. - The
FUIKeyValueTableViewCellno longer uses the incorrect button trait. - Fix: The
FUIListPickerFormCellnow correctly displays the focus line on the Chevron button andValidationViewwhen you navigate using a Bluetooth keyboard. - The
FUIListPickerFormCellnow correctly displays the full value text without clipping at the bottom. - Adjusted the
FUICardCollectionViewTableViewCellto use the correct height for cells. - When you dismiss the keyboard from
FUIKeyValueFormCell, the view no longer jumps. - The
FUICalendarViewnow scrolls correctly when using the expandable month style. - The
FUIToolbarnow functions correctly on iOS version 26.0. - The
FUICalendarViewnow correctly invokes thedidChangeVisibleDatesTofunction. - The
FUICalendarViewnow correctly adjusts the number of rows in the expandable month style. - Fixed an issue where disabled dates in the
FUIDateRangePickerappeared outside the specifiedstartDateandendDaterange. - The multi-user onboarding process now renders correctly on iOS version 26.0.
- Fixed an issue where the
layoutMargindidn't apply toFUIObjectCellwith icons in atableView. - The
FUISidebarnow properly adjusts its width in portrait mode for iOS version 26.0. - The
FUISwitchFormCellnow functions properly on iOS version 26.0. - The
FUIButtonnow updates its color correctly when the state changes to normal on iOS version 26.0. - The navigation bar now supports large titles. The EULA confirm action is set to be prominent on iOS 26.0.
Assistant 25.8.2¶
- The
UISplitViewControllernow functions correctly in the generatedAppDelegatefor iOS 26.0.
What's New in Version 25.8.1¶
SAPOData 25.8.1¶
- The software now supports combining dependencies with
CloudSyncProviderbeyond two levels. It also defers saving repeatability results whenChangeSetpropagates to the backend. - Empty (Byte/Char) streams now explicitly return null, preventing unintended state changes in the
superclass(e.g. avoiding accidental buffer sharing across threads). - The OData 'in' operator now has enhanced support. This includes compatibility with
SQLDatabaseProvider. - The
MimeStreamReaderperformance is improved for faster parsing of batch responses. - The
QueryParserissue related to$apply(using$countas an alias) is resolved. - Percent-decoding of
deltaTokennow occurs during the parsing of query URLs. - Optimized streaming to handle large batch responses.
SAPFiori 25.8.1¶
- Fixed
FUIButtonsize not hugging to content. - Fixed an issue where the
FUISegmentedControlunselected buttons incorrectly appear active when the stacked layout is disabled. - Fixed the contrast ratio for
FUICalendarView. - The crash issue in
FUIFormTableViewControlleris fixed. - Fixed an issue with
FUIFilterFormCellwhere labels change whenbuttonStyleis set to.flexible. - Fixed the issue where
FUIListPickerloses its selection when updating search results asynchronously. - The
FUIToolbarcrash issue is fixed. - The "Clear" button size in
FUIDateRangePickerModalViewControllerhas been updated for iOS 26 Beta. - The bug that prevented the selected date from being highlighted in
FUICalendarViewis fixed. - Fixed the issue with
passcodeCreate: dynamic type and keyboard focus support are now functioning correctly. - Fixed the issue where
FUIFilterFeedbackControldoesn't resize the containing box. - The
FUIFilterFeedbackControlnow supports the Mac Catalyst platform. - The
FUIButtonclipping issue in iOS 26 beta is fixed. - Fixed accessibility settings in reuse for
FUIObjectViewand added a combined accessibility label forFUIKeyValueContentView. - Fixed an issue with
FUIFilterFormCellwhere buttons were not visible in iOS 26 beta.
What's New in Version 25.8.0¶
The SAP BTP SDK for iOS version 25.8.0 supports iOS 17 and later. It requires Xcode 16.4 or higher.
Support for Authentication Using QR Code for All the Users in a Multi-User App¶
With SAP BTP SDK for iOS version 25.8.0, developers can enable authentication or re-authentication using Cross Context SSO QR codes for all users in a multi-user app. This feature is useful in cases of token expiry.
Logout of a Single Device¶
The Logout functionality now offers developers the option to log out from a single device or from all devices.
Extend or Enable/disable the Passcode Lock Timeout¶
Developers now have options to extend or enable/disable the passcode lock timeout. This feature is useful in scenarios where users need to switch away from the app for certain operations, such as uploading a file, and the passcode lock timeout expires during that time. Extending the passcode lock timeout helps users avoid entering the passcode in these situations. If the time to extend can't be predicted, developers can disable the passcode lock timeout before the operation and enable it once it is complete.
Show Native Apps During Reuse¶
In a reuse scenario, version 25.8.0 of SAP BTP SDK Assistant for iOS displays only native app configurations from SAP Mobile Services accounts. To learn about the available application types, refer to Step 2 in Creating an Application.
Fiori for iOS Version 25.8.0¶
FUIDateRangePickerFormCell and FUIDateRangePickerCollectionViewCell¶
These new components enhance range selection from a picker form cell. The picker form cell supports an empty date state and uses a standardized format to display the selected date range.
FUIPasscodeController Enhancement¶
The FUIPasscodeController now includes a new property: authenticatesBiometricIDWhenEnabled. This property indicates whether users should be authenticated using biometric ID when it is enabled. The default value is false.
What's New in Version 25.4.7¶
SAPFoundation 25.4.7¶
- The Bytes API now handles a large number of concurrent calls more efficiently.
SAPFiori 25.4.7¶
- The text color of the
FUIDatePickerFormCellvalue field is fixed. - Non-interactive elements shouldn't receive focus from a Bluetooth keyboard.
- The normal state value of the
FUIButtonwas fixed to match the default value of other states inNSStheming. - The
FUITouchIDViewsupports dynamic types. - The issue with the value text being cut off at the bottom in the
FUIListPickerFormCellis fixed. - When you dismiss the keyboard from the
FUIKeyValueFormCell, the view jumps. - An issue with the minimum height in
FUICardCollectionViewTableViewCellis resolved. - An issue with the expandable style month scroll in
FUICalendarViewhas been resolved. - The
FUIKeyValueTableViewCelltrait was incorrect and has been fixed. - The
FUICalendarViewnow consistently uses six rows in expandable style month mode.
Assistant 25.4.7¶
- The
UISplitViewControllernow functions correctly in the generatedAppDelegatefor iOS 26.0.
What's New in Version 25.4.6¶
SAPFiori 25.4.6¶
- Fixed the issue where the
FUIButtonsize didn't adjust to fit the content. - Fixed the crash issue with
FUIToolbar. - The bug where the selected date in
FUICalendarViewwasn't highlighted is now fixed. - You can now configure the accessibility labels for the headline, subheadline, footnote text, and
statusImageViewinFUIObjectTableViewCell. This enhancement improves accessibility support for these elements. - The
FUIFilterFeedbackControlnow supports the Mac Catalyst platform. - The
FUIDatePickerFormCellnow supports voice-over for validation messages. - Fixed
passcodeCreate's dynamic type and keyboard focus support issue. - Fixed the issue where
FUIFilterFeedbackControldoesn't resize the containing box. - Fixed the
FUIBannerMessageViewto ensure the blur view is added back. - You can now focus the keyboard on the "Show Passcode" button in the Passcode screens.
- You can now configure the background color of the week label view in
FUICalendarView.
What's New in Version 25.4.5¶
SAPFiori 25.4.5¶
- IOSSDKBUG-803: Fixed constraints for the
FUIButtonblurEffectView. - CS20250010199537: Fixed flickering bug in
FUIListPickerFormCellwhen usingallowsMultipleSelection. - IOSSDKBUG-744: Enhanced
FUIFormTableViewControllerandFUIFormCollectionViewControllerto close programmatically. - IOSSDKBUG-753: Fixed crash issue in
FUICalendarViewwhen presented as a sheet. - IOSSDKBUG-781: Fixed truncation of error messages in
FUIKeyValueFormCellat maximum zoom level. - IOSSDKBUG-760: Made
FUIBannerMessageViewerror messages accessible when Voice Over is on. - IOSSDKBUG-778: Adjusted banner close button position affected by layout margins.
- IOSSDKBUG-734: Corrected
FUICalendarViewdelegate functiondidChangeVisibleDatesTonot being called when switching from weekly view to monthly view. - IOSSDKBUG-707: Fixed issue where
FUIObjectHeaderlabel couldn't revert to the default style after a style class was set. - CS20250009659220: Fixed invalid constraint in
ModalUIViewControllerPresenter. - IOSSDKBUG-758: Prevented
FUIObjectTableViewCellfrom receiving Bluetooth keyboard focus for non-interactive elements. - IOSSDKBUG-750: Addressed issue where font style
extraLargeTitlehad no effect onFUIObjectTableViewCelllabels.
SAPFioriFlows 25.4.5¶
- IOSSDKBUG-663: Fixed error handling in user switch scenarios.
- IOSSDKBUG-711: Fixed
getRefreshTokenLifetimefetch failure by obtaining the introspect URL from the active configuration. - IOSSDKBUG-755: Added support for user overrides during passcode creation using
customizationHandler.
Assistant 25.4.5¶
- IOSSDKBUG-663 : Improved error handling during user switch scenarios.
What's New in Version 25.4.4¶
SAPFoundation 25.4.4¶
- IOSSDKBUG-616: Changed generic server error to a specific error code in
CustomHeadersto enable better client-side handling. - IOSSDKBUG-729: Added support for sanitizing
non-JSON-serializableconfigurations by allowingManagedConfigurationProvider'sprovideConfiguration()to be overridden.
SAPFiori 25.4.4¶
- IOSSDKBUG-636:
FUISegmentedControlFormCelltext truncates at maximum zoom level. - IOSSDKBUG-732:
FUITextFieldFormCellhas an incorrect accessibility label for the error state. - IOSSDKBUG-734:
FUICalendarViewdisplays incorrect visible dates in expandable style. - IOSSDKBUG-748:
FUICalendarViewmonth header layout has issues for right-to-left languages. - IOSSDKBUG-697:
FUICalendarViewshows an incorrect current date when the app changes from background to foreground. - IOSSDKBUG-736:
FUICalendarViewrange style does not function properly during device rotation. - IOSSDKBUG-726:
FUIContactCellsubheadline is cut off. - IOSSDKBUG-724:
FUICalendarViewexpandable style month mode does not scroll to next section if swiped slightly. - IOSSDKBUG-725:
FUIObjectHeaderrcrashes if tags contain Thai text.
SAPFioriFlows 25.4.4¶
- IOSSDKBUG-616: Changed the generic server error to a specific error code in
CustomHeadersto enable better client-side handling.
What's New in Version 25.4.3¶
SAPFoundation 25.4.3¶
- IOSSDKBUG-637: Fixed crashes occurring during repeated app lock and resume scenarios.
- IOSSDKBUG-686: Resolved Xcode warnings at application launch regarding missing Telemetry stores.
- IOSSDKBUG-716: Made changes to ensure re-authentication with Cross Context SSO triggers doesn't initiate the IDP login flow.
SAPFiori 25.4.3¶
- IOSSDKBUG-702: Disabled
FUIButtonremains actionable when hidden. - IOSSDKBUG-705: Fixed crash issue when
FUIKPIUnitItemtext is an empty string. - IOSSDKBUG-700: Fixed scroll problem in
FUICalendarViewexpandable month mode. - IOSSDKBUG-682: Added support to customize the mandatory indicator for picker form cells.
- IOSSDKBUG-694: Updated
FUINavigationBartitle font to subheadline. - SN-CS20250009806660: Changed
FUIModalCheckoutViewController'stextLabelcolor to.negativeLabelwhen its state is.failed. - IOSSDKBUG-707: Added support for caching the property for
FUILabeland restoring it when nss is empty. - IOSSDKBUG-718: Fixed cell flickering issue in
FUICollectionTableViewCell.
SAPFioriFlows 25.4.3¶
- IOSSDKBUG-637: Fixed crashes occurring during repeated app lock and resume scenarios.
- IOSSDKBUG-666: Added logout support for onboarding with cross-context SSO.
- IOSSDKBUG-716: Made changes to ensure re-authentication with Cross Context SSO triggers doesn't initiate the IDP login flow.
Assistant 25.4.3¶
- IOSSDKBUG-667: Disabled shared device mode when creating applications using
APIKeyOnly Authentication.
What's New in Version 25.4.1¶
SAPFiori 25.4.1¶
- IOSSDKBUG-690: Added minimum unique character validation for digits-only passcodes in
FUIPasscodePolicyandFUIPasscodeSetupView. - IOSSDKBUG-693:
FUICalendarViewdidChangeVisibleDatesTodelegate function was invoked when there is no change. - IOSSDKBUG-691: Added support for setting the week start day in
FUICalendarViewbased on the locale. - IOSSDKBUG-697: The
FUICalendarViewincorrectly selects the current day when the app switches back to foreground mode. - IOSSDKBUG-692: The
FUICalendarViewweekday title color isn't correct for the expandable style. - SN-CS20250009420445: Added a new property to
FUIPasscodeControllerfor authenticating users when they enable biometric ID. - IOSSDKBUG-671: Fixes the flickering issue in
FUIListPickerwhen users select long items. - IOSSDKBUG-668: Fixed the issue where the
FUICalendarViewexpandable style transition from month to week doesn't display the selected date. - IOSSDKBUG-659: The
FUIKeyValueTableViewCellcan't set the number of lines for keys and values.
SAPCommon, SAPFoundation and SAPFioriFlows 25.4.1¶
- SN-CS20250009659328: Enhances the handling of default framework behaviors to suppress unnecessary runtime warnings.
What's New in Version 25.4.0¶
SAP BTP SDK for iOS version 25.4 supports iOS 17+ and requires Xcode 16.2 or higher.
Export Client Logs Without Requiring Mobile Services¶
Developers can now export all client logs that haven't been uploaded to Mobile Services, without needing user authentication.
This feature is particularly useful when users haven't signed in yet, preventing logs from being uploaded to SAP Mobile Services through the usual process. The new API collects all available local logs into a single file and provides its file URL. This makes it easy to share for early troubleshooting or support, even before onboarding or authentication is complete.
Usage:
do {
let logsURL = try await SAPcpmsLogUploader.getLocalLogs()
} catch {
print("Some Error occured while fetching logs")
}
Support for Digits Only Keypad¶
The passcode screen would now show a digits only keypad if the administrator has turned on digits only passcode policy.
Fiori for iOS Version 25.4¶
AI Notice Support¶
The AI Notice component is now part of the Fiori SDK. It informs users when content is AI-generated and encourages them to verify its accuracy. This component includes an icon, a message, and an optional link or action label. Display the notice within form cells that involve AI-generated content. It's crucial for promoting transparency and building user trust when incorporating AI into product experiences.
AI Progress Indicator Support¶
The AI Progress Indicator has been integrated into the Activity Indicator, Linear Progress Indicator, and Checkout Indicator components. It signals that an AI-related process is currently in progress. The indicator includes an icon and a descriptive message to provide context to the user.
Add Empty Preset to FUIContentUnavailableConfiguration¶
The FUIContentUnavailableConfiguration.empty() preset creates a default FUIContentUnavailableConfiguration instance.
Show Alert when Delete Attachment¶
A confirmation dialog is configurable when you want to delete the attachment in FUIAttachmentViewController.
Default value for showAlertWhenDeleting is false. You can reset it to be true and show the alert.
Offline OData Library for SAP BTP SDK for iOS Version 25.4¶
- Added support for
crossjoindata aggregation. - Added support for the
UNBINDoperation in theUpdateEntityrequest.
What's New in Version 24.12.9¶
SAPFiori 24.12.9¶
- IOSSDKBUG-753: Fixed the crash issue with
FUICalendarViewwhen it's presented as a sheet. - IOSSDKBUG-778: The position of the banner close button is affected by layout margins.
- IOSSDKBUG-707: The
FUIObjectHeaderlabel can't revert to the default style once a style class is set. - IOSSDKBUG-734: The
FUICalendarViewdelegate functiondidChangeVisibleDatesToisn't called when changing from weekly view to monthly view. - CS20250009659220: The
ModalUIViewControllerPresenterinvalid constraint is fixed.
SAPFioriFlows 24.12.9¶
- IOSSDKBUG-663: Error handling in user switch scenarios is fixed.
- IOSSDKBUG-755: Support for user overrides during passcode creation is added using
customizationHandler.
Assistant 24.12.9¶
- IOSSDKBUG-663: Error handling during user switch scenarios is improved.
What's New in Version 24.12.8¶
SAPFiori 24.12.8¶
- IOSSDKBUG-750: The font style
extraLargeTitledoesn't effectFUIObjectTableViewCelllabels. - IOSSDKBUG-636: Text truncates at maximum zoom level in
FUISegmentedControlFormCell. - IOSSDKBUG-732:
FUITextFieldFormCellhas an incorrect accessibility label for the error state. - IOSSDKBUG-734: Visible dates are incorrect in the expandable style of
FUICalendarView. - IOSSDKBUG-697: The current date in
FUICalendarViewis incorrect when the app changes from background to foreground. - IOSSDKBUG-736: The range style in
FUICalendarViewdoesn't work during device rotation. - IOSSDKBUG-726: The subheadline in
FUIContactCellis cut off. - IOSSDKBUG-724:
FUICalendarViewexpandable style month mode does not scroll to next section if swiped slightly. - IOSSDKBUG-725:
FUIObjectHeadercrashes if tags contain Thai text. - IOSSDKBUG-718: Fixed the cell flickering issue in
FUICollectionTableViewCell.
SAPFioriFlows 24.12.8¶
- IOSSDKBUG-711: Fixed token endpoint retrieval for different configuration providers.
What's New in Version 24.12.7¶
SAPFiori 24.12.7¶
- IOSSDKBUG-707: Provided support for caching properties of
FUILabeland restores them when theNSSis empty. - SN-CS20250009806660: For
FUIModalCheckoutViewController, change thetextLabelcolor to.negativeLabelwhen the state is.failed. - IOSSDKBUG-682: Provided support for customizing mandatory indicators in picker form cells.
- IOSSDKBUG-705: Fixed a crash issue that occurs when
FUIKPIUnitItemtext is an empty string. - IOSSDKBUG-702: The
FUIButtonremains actionable even when disabled and hidden. - IOSSDKBUG-700: Fixed the scroll issue in the expandable month mode of
FUICalendarView. - IOSSDKBUG-690: Added minimum unique character validation for digits-only passcodes in
FUIPasscodePolicyandFUIPasscodeSetupView. - IOSSDKBUG-693: The
didChangeVisibleDatesTodelegate function inFUICalendarViewis invoked even when there are no changes. - IOSSDKBUG-691: Supports the
FUICalendarViewweek starting day based on locale. - IOSSDKBUG-697: Fixed the issue with
FUICalendarViewwhere the current date selection was not functioning correctly. - IOSSDKBUG-692: Fixed the
FUICalendarViewweekday title color issue for expandable styles. - CS20250009420445: Supports
FUIPasscodeControllerto authenticate user when enabling biometric ID. - IOSSDKBUG-671: Fixed the flickering issue in
FUIListPickerwhen users select long items.
SAPCommon 24.12.7¶
- SN-CS20250009659328: Enhances the management of default framework behaviors to reduce unnecessary runtime warnings.
SAPFoundation 24.12.7¶
- SN-CS20250009659328: Enhances the handling of default framework behaviors to suppress unnecessary runtime warnings.
- IOSSDKBUG-686: Resolved Xcode warnings at application launch about missing Telemetry stores.
- IOSSDKBUG-637: Fixed a crash that occurs during repeated app lock and resume scenarios.
SAPFioriFlows 24.12.7¶
- SN-CS20250009659328: Enhances the handling of default framework behaviors to suppress unnecessary runtime warnings.
- IOSSDKBUG-666: We've added logout support for onboarding with cross-context SSO.
- IOSSDKBUG-637: Fixed crashes that occur during repeated app lock and resume scenarios.
Assistant 24.12.7¶
- IOSSDKBUG-667: Disabled shared device mode when creating applications using
APIKeyOnly Authentication.
What's New in Version 24.12.6¶
SAPFiori 24.12.6¶
- IOSSDKBUG-668: Fixed
FUICalendarViewexpandable style month to week transition not displaying selected date - IOSSDKBUG-659: Fixed
FUIKeyValueTableViewCellnot able to configure number of lines for key and value - IOSSDKBUG-651: Fixed
FUICalendarViewmonth style collapsing into week style problem - IOSSDKBUG-649: Supported to add
*to Form Cells manually to indicate mandatory field - IOSSDKBUG-652: Supported
FUIDatePickerFormCellto provide hint when cell expanded or collapsed - IOSSDKBUG-641: Fixed
FUICalendarViewscrolling problems in Voice Over mode - IOSSDKBUG-554: Fixed
FUICalendarViewto support physical keyboard - IOSSDKBUG-619: Showed minimum unique characters rule label in
FUIPasscodeSetupView - IOSSDKBUG-644: Fixed validation title height calculation issue in
FUIInlineValidationTableViewCell - IOSSDKBUG-645: Fixed
FUIBannerMessageViewcrash issue when the search controller is nil - IOSSDKBUG-626: Supported standard accessibility Label for
FUINoteFormCellContentView - CS-20250009594649: Fixed
FUIKeyValueFormCellplaceholder color and font problem - IOSSDKBUG-535: Removed
sizeRestrictionsfor visionOS in SDK - IOSSDKBUG-577: Fixed
FUICalendarViewrotation problem - IOSSDKBUG-587: Fixed Segmented Control Form Cell issue with long labels
- IOSSDKBUG-607: Fixed
FUIObjectHeaderfor background color of tag - IOSSDKBUG-601: Fixed
FUIContactCelllast row height problem
What's New in Version 24.12.5¶
SAPFiori 24.12.5¶
- IOSSDKBUG-604: Fixed the issue where
FUIListPickeritems were being truncated when using a customized data source - IOSSDKBUG-600: Fixed the issue where the
FUIListPickercollection cell displayed an empty view when it was the last one in the collection view - IOSSDKBUG-577: Fixed the content height issue in the expandable style of
FUICalendarView - IOSSDKBUG-577: Fixed size and scrolling issues in the expandable style of
FUICalendarView - IOSSDKBUG-569: Fixed
OnboardingScanconfirmation view layout issue - IOSSDKBUG-581: Fixed the issue where
FUITitleFormCelllost focus when using a physical keyboard
SAPFioriFlows 24.12.5¶
- IOSSDKBUG-567: Added customization options for the font style and color of the action title in
UserConsentPageContentandUserConsentStep
What's New in Version 24.12.3¶
SAPFiori 24.12.3¶
- IOSSDKBUG-563: Added support to set the
accessibilityLabelfor thecharCountLabelproperty inFUINoteFormCell - IOSSDKBUG-570: Fixed an issue causing crashes in
FUIObjectHeaderwhen tags were changed - SN-CS20240008809196: Fixed an issue where the buttons in
FUIModalCheckoutViewControllerwere not displayed in the error state - IOSSDKBUG-548: Fixed an issue where the
MultiMessageBannerdisplayed the details link even when it was set to false - IOSSDKBUG-556: Added voice-over support for
FUIDatePickerFormCell,FUIAttachmentsFormCell, andFUIInlineValidationViewin the validation view. - IOSSDKBUG-553: Fixed an issue where the
FUICalendarViewselected dates array included disabled dates - IOSSDKBUG-555: Added support for setting the
accessibilityLabelinFUIDatePickerFormCell,FUIDurationPickerFormCell,FUIValuePickerFormCell, andFUIListPickerCollectionViewCell - IOSSDKBUG-539: Added support to set
keyLabelandaccessibilityLabelinFUIListPickerFormCell.
SAPOfflineOData 24.12.3¶
- Bug fix: Fixed an issue where request optimization could not merge effectively due to the dependency on request order
What's New in Version 24.12.2¶
SAPFiori 24.12.2¶
- IOSSDKBUG-543: Minimized log statements for
FUIOnboardingButton - IOSSDKBUG-537: Fixed the issue where
ListPickerdisplayed two lines with short values - IOSSDKBUG-497: Fixed the
accessoryViewto prevent displaying two arrows - SN-CS20240008809196: Fixed
FUIModalCheckoutViewControllerrelated bugs - IOSSDKBUG-532: Fixed hint text alignment issue
- IOSSDKBUG-527: Fixed the issue where
FUICardCollectionViewCelloverflow menu image was not showing up - IOSSDKBUG-526: Adjusted the button size in
FUICardFooterViewto fit the regularUserInterfaceSize - IOSSDKBUG-523: Fixed
FUIOnboardingScanViewControllercamera angle issue - SN-CS20230006751205: Added preset styles to the Empty State View configuration API
What's New in Version 24.12.1¶
SAPFiori 24.12.1¶
- IOSSDKBUG-518: Fixed the issue where
FUIChartFloorplanViewdid not show summary - IOSSDKBUG-519: Added
forcesStackedLayoutproperty forFUISegmentedControlCollectionViewCell
SAPFioriFlows 24.12.1¶
- IOSSDKBUG-464: Added an option to customize
logoImageViewSizeusingWelcomeStepUI
SAPOData 24.12.1¶
- Bug fix: Fixed an issue that occurred when creating a related entity on a navigation property with
ContainsTarget=truein the metadata. - Bug fix: Updated the aggregate in the keyword query format.
SAPOfflineOData 24.12.1¶
- Added support for posting, patching, and putting values into the collection property of
ILOData.
What's New in Version 24.12.0¶
SAP BTP SDK for iOS version 24.12 supports iOS 17+ and Xcode 16.1.
Support for Lock and Wipe Policy Settings¶
The iOS SDK now supports automated lock and wipe actions based on policies defined in SAP Mobile Services. When thresholds are reached, such as inactivity or administrative directives, the app enforces actions like full reset (TRAFFIC_REG_WIPED) or re-authentication (TRAFFIC_REG_LOCKED) in response to server signals (HTTP 403 with x-message-code header). These policy checks are performed both at app launch and dynamically during app usage, ensuring robust data security in both online and offline scenarios.
To enable this feature, include SAPcpmsUserLockAndWipeConfigurationStep() and SAPcpmsLockWipePolicyApplyStep() in your onboarding and restoring steps and make any necessary additional configurations.
Enhanced Logout API¶
SDK has now introduced an enhanced logout API that not only logs user out from the server but also clears browser cookies, ensuring a seamless re-login experience after logout.
Usage:
AuthenticationController.shared.logout { error in
print("Error during logout:", error)
}
or
try await AuthenticationController.shared.logout()
Note: This feature is unavailable for widgets because they cannot launch a web view from within a widget.
Expiration Time for Refresh and Access Tokens¶
The SAPFioriFlows framework now includes APIs to check the expiration timestamps of Refresh Tokens and Access Tokens, enabling better session management.
Usage:
AuthenticationController.shared.getRefreshTokenLifetime(urlSession: session) { expiryDate in
if let date = expiryDate {
// Handle the refresh token expiry date
print("Refresh token expires on: \(date)")
} else {
// Handle the error or nil response
print("Failed to fetch refresh token expiry date.")
}
}
AuthenticationController.shared.getAccessTokenLifetime { expiryDate in
if let date = expiryDate {
// Use the access token expiry date
print("Access token expires on: \(date)")
} else {
// Handle missing or invalid token expiry information
print("Failed to fetch access token expiry date.")
}
}
Enhanced Request Headers for Improved Client Information¶
The SDK now includes the following metadata in the headers of every request sent through SAPURLSession:
- Device Model
- Platform
- Platform Version
- Client App ID
Client-only Entities Support¶
SAP BTP SDK Assistant for iOS now offers full support for OfflineOData client-only entities, including previously unsupported local entities with draft capabilities. Key improvements include:
- Handling multiple entity sets that reference the same entity type.
- Automatically generating UI components that accurately reflect the structure of client-only entities.
- These updates deliver a more cohesive and user-friendly experience.
Handling Block User and Wipe Registration Responses¶
Applications generated with SAP BTP SDK Assistant for iOS now handle lock and wipe scenarios across all authentication types (except API Key). This includes support for user-blocked steps as directed by SAP Mobile Services policies.
Fiori for iOS Version 24.12¶
Rating Control Enhancement to Support Text Label¶
Added optional leading and trailing label to display key information such as rating value and review count. Additionally, added a feature to display half star, providing a more accurate representation of average ratings.
Object Cell Enhancement to Support Button Along with Status Field¶
Added support for a button and a status field. In single-line mode, the configuration for this button will be ignored, and it is recommended to use actionAccessoryType for the object cell in this case.
Object Cell Enhancement to Support Rating Control¶
Added Rating Control as a field to show rating information.
Inset Grouped Style Support¶
Updated all the table view-related SDK controls so that the application can choose to configure its preferred style, e.g. FUIListPickerTableViewController(style: .insetGrouped)
Step Progress Indicator Enhancement¶
Added icon support for the node style of Step Progress Indicator.
Chart Color Updates¶
Updated 11 chart colors (chart1 to chart11) and added a chart12 color.
Avatar Stack Enhancement to Support Trailing Label¶
Added support for a label field in avatar stack. The label position can be configured, as top, bottom, leading, or trailing.
KPIView Enhancement¶
Added dynamic type support for KPIView label field.
Feedback Pattern Support for Multiple Messages in BannerMessage¶
Added support for multiple messages with different types in BannerMessage. Messages can be filtered by category. Multiple messages of different types can be categorized.
Mandatory Field in Form Cells¶
The mandatory field indicator can be specified in form cells and collection view cells to denote fields requiring user input. In this release, this feature has been extended to additional cell types, including: FUIAttachmentsFormCell, FUIAttachmentsCollectionViewCell, FUIFilterFormCell and FUIFilterFormCollectionViewCell.
Mandatory Field Styling Configuration¶
Mandatory field styling can be configured through APIs, allowing customization of text, font, and color. This feature is available for all form cells and collection view cells that support mandatory fields.
Object Floorplan¶
- Breaking changes for
FUIObjectFloorplan. For elements inFUIObjectSection,any Hashable & Sendableis needed instead ofAnyHashable.
FUIContentUnavailableConfiguration¶
- Added support for
FUIContentUnavailableConfigurationwhich enablesFUIEmptyStateViewto support Apple'sUIContentConfigurationAPI - Added search and loading presets to
FUIContentUnavailableConfiguration
Online OData Library for SAP BTP SDK for iOS Version 24.12¶
- Added more transformation items to support OData Aggregation, including identity, concat, join, and outer join.
- Improved query URL format by removing valid but unnecessary parentheses from the request URL.
- Enhanced
CsdlParserto handlekeylessentity types.
Offline OData Library for SAP BTP SDK for iOS Version 24.12¶
- Added support for basic OData aggregation functionalities, including sum, min, max, average, count,
countdistinctaggregation, andgroupby, top, bottom, concat, and filter transformations. - Added support for deep insert to many end cases where the backend may not return deep inserted entities in the response.
- Added support for asynchronous Swift functions in
OfflineODataProvider.
What's New in Version 24.8¶
SAP BTP SDK for iOS version 24.8 supports iOS 16+ and Xcode 15.
Expanding visionOS Capabilities with SAP BTP SDK for iOS 24.8¶
Building on our previous release, we have expanded the capabilities of visionOS with the SAP BTP SDK for iOS version 24.8!
Our latest update introduces even more powerful features for spatial computing, enabling you to create both online and offline visionOS applications with ease. The SAP BTP SDK Assistant for iOS now handles all the onboarding-related code, allowing you to focus on crafting immersive and spatial experiences using SwiftUI.
Here are some of the new components and services available on visionOS as part of version 24.8:
- Support for all authentication types
- Working with SAPOfflineOData
- Crash reporting
- Digitally signed QR code
- Cross-context SSO
- Attestation
- Application management policies (restrict print data policy, restrict open URL policy, clipboard protection)
Bytes API Support in SAPURLSession¶
The SAPFoundation.SAPURLSession now supports Apple’s bytes API. With this enhancement, you can retrieve the contents of a URL or URLRequest as an asynchronous sequence of bytes.
To leverage this feature, create an instance of SAPURLSession and register the corresponding SAPURLSessionObserving. The SDK will handle both data retrieval and any necessary authorization, streamlining the entire process for you.
Enhanced SAP BTP SDK Assistant for iOS with Identity Authentication Service (IAS) Security Setting Support¶
With this release, the SAP BTP SDK Assistant for iOS allows you to create applications using the IAS security settings, in addition to the XSUAA settings. You also have the option to reuse the apps created in SAP Mobile Services with IAS settings. This not only streamlines the development process but also enhances security flexibility.
Customization of Localized Texts in FlowsLocalizedStrings¶
SAP BTP SDK for iOS now allows application developers to provide custom localized texts for any properties within FlowsLocalizedStrings. If no custom text is provided for a specific property, the default text from FlowsBundle will be used.
Previously, the localized texts within FlowsLocalizedStrings were internal and could not be modified by developers. With this update, the SDK offers greater flexibility, enabling full customization of all localized texts.
Enhanced Support for Complex Types in SAP BTP SDK Assistant for iOS Generated Applications¶
The SAP BTP SDK Assistant for iOS now offers full support for OData Complex Types. For instance, it supports the Address Type in the Customer Entity of the Sample Service. In the past, the Proxy Generator consistently created classes for these types. However, the UI, generated by the SAP BTP SDK Assistant for iOS, did not represent them effectively. With this enhancement, the SAP BTP SDK Assistant for iOS now generates UI components that logically and accurately reflect the structure of Complex Types in OData, providing a more cohesive and intuitive user experience.
Default Port Details in ConfigurationProvider.plist for SAP BTP SDK Assistant for iOS Generated Application¶
Previously, the SAP BTP SDK Assistant for iOS generated the ConfigurationProvider.plist file with a "port" entry only if the Application/Server URL explicitly included a port number.
However, with the latest update, the generated application includes "port" details in the ConfigurationProvider.plist by default. For HTTPS URLs, the port defaults to 443. For HTTP URLs, it defaults to 80.
Secure Store API's Available on watchOS¶
The SAPFoundation framework provides Secure Storage APIs, such asSecureDatabaseStore. These APIs are available for developing apps that run on Apple Watch.
Fiori for iOS Version 24.8¶
Sidebar Enhancement¶
We have enhanced the display style to offer a more engaging and streamlined appearance. We have also introduced an editable sidebar that allows you to reorder and manage the visibility of sidebar items.
Search Enhancement¶
We have added speech recognition support for FUISeachController. We have also introduced a new property, searchStatus to record the current status of the search field.
72 Font Semi Bold UI Update¶
We have updated the font weight to 72 Semibold for the SDK components.
FUICardView Enhancement¶
Skeleton loading is now supported for FUICardView. We offer three loading styles for various scenarios: singleLine, composite, and simple.
In Place Loading¶
We have introduced new designs for the progress indicator: FUICircularProgressBar, FUIProcessingIndicatorView, and FUIProgressIndicatorControl.
We have also added support for loadingState (unspecified, processing, success) in FUIButton. When loadingState is set to processing, an activity indicator will be displayed. When loadingState is set to success, the success icon will be displayed.
FUIButton Enhancement¶
Added support for vertical alignment of the icon and title.
FUILoadingIndicatorView Enhancement¶
Added support for vertical alignment in FUILoadingIndicatorView.
Enhanced Onboarding Screen with Illustrated Message¶
The Illustrated Message feature has been introduced to the onboarding screens to enhance visual content and messaging, thereby strengthening branding and improving user experience. This feature can be enabled via API on the Welcome, Authentication, Activation, and Passcode Screens. By default, the Illustrated Message is disabled but can be activated as needed.
Mandatory Field Indicator for Form Cell¶
The mandatory field indicator can be specified in form cells and collectionViewCells to indicate that user input is required. When the isRequired API is set to true, an asterisk (“*”) will appear at the end of the cell title, showing that the field cannot be left empty. By default, this API is set to false. This feature is supported in the following types of cells: FUITextFieldFormCell, FUITextFieldCollectionViewCell, FUINoteFormCell, FUINoteCollectionViewCell, FUIInlineSignatureCollectionViewCell, FUIInlineSignatureFormCell, FUIValuePickerFormCell, FUIValuePickerCollectionViewCell, FUIDurationPickerFormCell, FUIDurationPickerCollectionViewCell, FUIListPickerFormCell, FUIListPickerCollectionViewCell, FUIDatePickerFormCell and FUIDatePickerCollectionViewCell.
Third-Party Scanners for Scanning Flow¶
Introduced new APIs for ListPicker and SearchBar that allow the application to customize the scanning flow. These APIs enable developers to implement a handler for when the scan button is tapped and to revert to the default scanning flow as needed.
FUITimelinePreviewCollectionViewCell¶
A new subclass of UICollectionViewCell is now available to enable timeline previews in UICollectionView.
Support Icon Image Customization for Error Message¶
A new API validationIcon is available to allow the application to customize the icon image for validation messages. It can override the default icon image based on the message type.
Banner Enhancement¶
Introduced a new property for FUIBannerMessageView to push the underlying content down, ensuring that the message banner does not cover any part of the content below.
Segmented Control Enhancement¶
FUISegmentControl has been updated to use .primaryBackground as backgroundColor, and .primaryLabel as tintColor in the selected mode.
Avatar Stack for SAP BTP SDK for iOS Version 24.8¶
A new component FUIAvatarStack has been introduced to maintain a group of avatars with a leading or trailing text.
Object View Enhancement¶
Introduced a new property footnoteIconsText in FUIObjectView to display leading or trailing text next to the footnote icons.
Object Header Enhancement¶
Added support for skeleton loading in FUIObjectHeader.
Online OData Library for SAP BTP SDK for iOS Version 24.8¶
- Added support for the
$searchsystem query. - Implemented the
inoperator for the$filtersystem query.
Offline OData Library for SAP BTP SDK for iOS Version 24.8¶
- Added support for OData open type.
- Added support for the
$searchsystem query. - Implemented the
inoperator for the$filtersystem query. - Improved error messages for Offline OData.
- Added support for multiple parent entity sets to use a single entity type for containment.
What's New in Version 24.4¶
SAP BTP SDK for iOS version 24.4 supports iOS 16+ and Xcode 15.
Apple Vision Pro Support¶
Get ready to build apps for spatial computing with SAP BTP SDK for iOS version 24.4!
Use SAP BTP SDK Assistant for iOS to generate a new visionOS application. All the required onboarding-related code will be generated and you can focus on building spatial and immersive content with SwiftUI.
The majority of the SAP BTP SDK for iOS binary frameworks were compiled to provide fundamental support for app development for Apple Vision Pro on visionOS.
Here are some of the fundamental components and services that are available on visionOS:
- Logging
- Networking
- Authentication
- Caching
- Secure data persistence
- Working with OData (online)
- User onboarding (including
WelcomeScreenStep,EULAConsentStep,UserConsentStep,DataCollectionConsentStep, andStoreManagerStep)
Be aware that SAPFiori supports only selected onboarding-related user interface components on visionOS, particularly the Welcome, EULA, and passcode-related UI components.
SAPOfflineOData and SAPML are NOT supported on visionOS.
Changed SDK Versioning Format¶
SAP BTP SDK for iOS has transitioned from the Major.Minor.Patch format to the Year.Month.Patch format to reflect the release timeline information of the version.
Support to Handle Errors in Case of Lock and Wipe Timeout¶
With the recent changes from SAP Mobile Services, a 403 response along with the X-MESSAGE-CODE header will be returned when the lock or wipe policy is set on in the cockpit and the policy threshold is reached. SAP BTP SDK for iOS will now intercept this error in lock and wipe timeout cases and show a suitable message to the user so they can handle this scenario accordingly.
Enhanced WelcomeScreenUI for New Configuration Options¶
SAP BTP SDK for iOS enhances customization of Welcome screen UI components. The SAPFioriFlows.WelcomeScreenStep.WelcomeStepUI protocol now allows setting all properties of SAPFiori.WelcomeScreenStep.
Async Support for Existing SDK Completion-Handler-Based APIs¶
Added async support for APIs in the following SDK classes:
SAPFoundation.SAPcpmsSettingsSAPFoundation.SAPcpmsUserRolesSAPFoundation.SAPcpmsRemoteNotificationClientSAPFioriFlows.OnboardingSession
Fiori for iOS Version 24.4¶
Initial visionOS Support¶
Enabled the Onboarding, Welcome, EULA, and Passcode UI screen components to be available for visionOS.
Illustrated Message¶
FUIIllustratedMessage is a new component that combines an image and a message to represent an error, success, or empty state.
The image can be scaled to a size category using the detailImageSize parameter. The view can lay out its content along either a horizontal or vertical axis.
Onboarding Welcome Screen Enhancement¶
The Welcome screen is enhanced to optionally include legal agreement information, enabling users to access the details of legal documents and confirm their consent before the onboarding process can proceed. This functionality is facilitated by the introduction of the new API, 'isLegalAgreementRequired.'
Additionally, a new TextView has been incorporated into the footer of the Welcome screen, providing access to the Terms of Service, if needed.
Checkout Indicator¶
Checkout Indicator (FUICheckoutIndicatorView.swift) is enhanced to support the error state.
Linear Progress Indicator¶
A new feedback indicator (FUILinearProgressIndicator) is added to present a linear progress bar with different styles (determinate, indeterminate, success, and error types). An icon and a description message can be used to provide more details about the progress.
Card Grid Layout¶
Two new UICollectionViewLayouts, FUICollectionViewLayout.carousel and FUICollectionViewLayout.masonry, are added and can be used for cards.
Color System Enhancements as Color Palette V8¶
Alongside ensuring consistent color alignment between SAP SAP Fiori for iOS and SAP SAP Fiori for Android, the iOS color system has undergone a revision to harmonize more effectively with Apple’s established color system and design principles, utilizing SAP SAP Fiori design system colors.
These enhancements encompass a comprehensive realignment of SAP SAP Fiori for iOS color styles to better adhere to the hierarchy of Apple’s system-provided colors. Notable adjustments include refinements to Label, Fill, and Background colors, as well as the introduction of Material Chrome for navigation bars, tab bars, and toolbars.
Data Table Enhancement¶
A new property, isReadonly, is added for FUITableRowItem, FUITableColumnAttribute and FUITableItem, to make a row, a column, or a cell not editable.
semibold Font Style¶
New font styles, semibold and semiboldDuplex are added to the 72 Font Family for SAP SAP Fiori.
Offline OData Library for SAP BTP SDK for iOS Version 24.4¶
- Added support for OData singleton
- Added support for the default value of key properties
- Added support for the
Datefunction for theEdm.DateTimeOffsetdata type in OData queries - Enabled propagation of updated back-end metadata annotations to client devices
What's New in Version 10.0¶
SAP BTP SDK for iOS version 10.0 supports iOS 16+ and Xcode 15.
Restrict Print Data¶
SAP Mobile Services allows you to enable a Print Data Restriction Policy that disables printing functionality in the application. You will need to add the SAPFioriFlows.SAPcpmsSecurityPolicyApplyStep onboarding step from the SAPFioriFlows framework to your onboarding steps to enable this functionality. When the policy is enabled in SAP Mobile Services, SAPcpmsSecurityPolicyApplyStep prevents the printing of an app's content.
Note that the SAP BTP SDK Assistant for iOS allows you to create a new project with a Print Data Restriction Policy and automatically adds the necessary onboarding step.
Restrict Opening URLs¶
SAP Mobile Services allows you to enable an Open URL Restriction Policy which disables opening of URLs within your application. You also need to add the SAPFioriFlows.SAPcpmsSecurityPolicyApplyStep onboarding step from the SAPFioriFlows framework to your onboarding steps. When the policy is enabled in SAP Mobile Services, SAPcpmsSecurityPolicyApplyStep prevents the opening of URLs in external applications.
Note that the SAP BTP SDK Assistant for iOS allows you to create a new project with an Open URL Restriction Policy and automatically adds the necessary onboarding step.
OAuth2 Login Support for Action Extensions¶
SAP BTP SDK for iOS now provides SAPFoundation APIs for OAuth2 authentication in Action extensions.
Improvements for Using Xcode 15¶
- Debugger Console: SAP BTP SDK for iOS has now added support for filtering by log level and logger name in the Xcode 15 debugger console.
- Digitally-signed Binary Frameworks: SAP BTP SDK for iOS provided
.xcframeworkfiles will now include information about the signature such as the author's identity. If the signature has changed, your app's build will fail with an appropriate error message. This allows an app developer to confirm the identity and guarantees that the code has not been altered or tampered with after it was signed. - Privacy Manifests: All SAP BTP SDK for iOS frameworks now bundle a
PrivacyInfo.xcprivacyfile. Privacy manifests are a new way to provide information about SAP Mobile Services privacy practices. This information helps app developers accurately represent privacy in their apps.
Log Upload Improvements¶
SAPFoundationnow exposes a property, thelogUploadEnabledflag, inSAPcpmsLogUploader.swift. Setting this value totrueensures that the app developer can force upload logs irrespective of the log settings in mobile services cockpit. However, the configuration to upload the logs needs to be enabled in SAP Mobile Services for the operation to be successful.SAPFoundationhas added a new case inSAPcpmsLogUploaderErrorwith the name,.configurationNotEnabled.
Breaking Changes: SAPFoundation
Since this is a new error which will be thrown when configuration to upload logs is not enabled in SAP Mobile Services, existing applications that have written specific code for SAPcpmsLogUploaderError.networkError will break.
- SAP BTP SDK for iOS splits client logs into multiple files when recording logs but then reassembles them into a single upload file. That assembled file may exceed 64MB and will be rejected by SAP Mobile Services. SAP BTP SDK for iOS can now chunk these logs, respecting the 64MB upload limit when uploading client logs.
Async Functions in SAPFioriFlows.OnboardingSessionManager¶
Added async support in SAPFioriFlows.OnboardingSessionManager for the following APIs:
open()removeSession()lock()unlock()
Enhanced CSRF Protection¶
Introduced SAPFioriFlows.SAPcpmsCSRFTokenConfigurationStep for out-of-the-box support of CSRF Protection configuration in SAP Mobile Services. This is a public OnboardingStep that app developers can use to register SAPFoundation.CSRFTokenObserver.
Multi-User Online Project Generation in SAP BTP SDK Assistant for iOS¶
SAP BTP SDK Assistant for iOS now has the capability to generate a shared device (multi user) application with online OData support.
Sync Button for Offline App Generated by SAP BTP SDK Assistant for iOS¶
SAP BTP SDK Assistant for iOS adds a button when generating an offline app. End users can now synchronize offline OData manually and quickly without stopping and restoring the app like before.
Fiori for iOS Version 10.0¶
Form Cells Disabled State¶
- Added disabled state for
OrderPickerFormCell,SignatureFormCell, andAttachmentFormCell - Updated the disabled state style for all types of form cells
Text Input Read-Only State¶
- For the
readonlystate ofFUITextFieldFormCell,FUINoteFormCell, andFUIKeyValueFormCell, the value field bounding box outline is removed. The background color is updated.
New Key Value Component¶
- A new
UITableViewCellsubclass for displaying non-editable key-value pairs is added.
List Picker Form Cell¶
- Improved presentation and search behaviors.
Skeleton Loading¶
Support of showing skeleton loading if the data is not available yet.
Card¶
A new card system is introduced to be adaptable and extendable. The card includes multiple sections for media, main header, extended header, body and footer. While the SDK provides built-in UI components for extended header and body sections, an application can choose to add any type of UIView to these sections, allowing the card content to be more customizable.
Calendar View Enhancement¶
- Supports three alternate calendars:
Chinese,Hebrew, andIslamic. - Allows developers to add different event indicators.
Error Handling for Form Cells¶
- New style for
FUIInlineValidationViewto show a feedback message as a hint/error message. - API is enhanced to show the feedback message as error, info, or warning.
AttachmentCell Enhancement¶
Adds three properties (title, subtitle, footnote) for attachment cells. Applications can use these properties to store and show any information, such as file size, etc.
Updated Fiori Icon Library¶
Fiori Icon Library is updated and more icons are included.
OData Library for SAP BTP SDK for iOS Version 10.0¶
- Fixed bug: Failed to download streams with multiple thread
- Fixed bug: iOS
DownloadStreamis not downloading in background completely
Offline OData Library for SAP BTP SDK for iOS Version 10.0¶
- Added support for the containment navigation property in OData
V4 - Added support for the key property reference in OData
V4
What's New in Version 9.2¶
SAP BTP SDK for iOS version 9.2 supports iOS 15+ and Xcode 14.
Multi-User Offline Project Generation in SAP BTP SDK Assistant for iOS¶
SAP BTP SDK Assistant for iOS now has the capability to generate a shared device (multi user) application with Offline OData support. Multiple users can onboard the same application and the pending changes of the previous users are allowed to be uploaded even after the user switch.
This Shared Device option is not available for online applications.
Device Compliance Detection¶
SAP Mobile Services allows you to enable a Compliance Policy to detect compromised devices. You also need to add the SAPFioriFlows.SAPcpmsSecurityPolicyApplyStep onboarding step from the SAPFioriFlows framework to your onboarding steps.
SAP BTP SDK Assistant for iOS allows you to create a new project with a Compliance Policy and automatically adds the necessary onboarding step.
When the policy is enabled, SAPcpmsSecurityPolicyApplyStep initiates the check and reports the results to SAP Mobile Services. When compromised devices are detected, they are reported as a Mobile Device Security event, and appear on the User Registrations tab and in the Event Log.
Clipboard Protection¶
SAP Mobile Services allows you to enable a Clipboard Protection Policy to limit the exchange of information between apps. You also need to add the SAPFioriFlows.SAPcpmsSecurityPolicyApplyStep onboarding step from the SAPFioriFlows framework to your onboarding steps.
SAP BTP SDK Assistant for iOS allows you to create a new project with a Clipboard Protection Policy and automatically adds the necessary onboarding step.
When the policy is enabled, SAPcpmsSecurityPolicyApplyStep restricts cut, copy, and paste between apps.
App Attestation: Debug Tokens for Testing¶
The App Attest service is not supported on iOS Simulator and Mac Catalyst. SAP Mobile Services has enhanced the ApplicationAttestationStep and AttestationObserver classes to enable development/testing with attestation-enabled applications on these platforms.
A debug token, which can be obtained from the mobile services cockpit is added to the request where App Attest is not supported. By ensuring the requirements on the client for using a debug token are met, your attestation-enabled application can work on iOS Simulator and Mac Catalyst. Using a debug token is also supported on physical devices if the requirements are met.
Client-only Entities in Offline¶
The client-only entities feature is an extension to Offline OData that enables the client application to load client-only metadata and perform OData CRUD operations on entity sets that do not exist in the OData back-end server. The term "client only" or "client-only" means that the entities exist in the client store only, and will never be uploaded to the back-end store.
Better Error Code When User Declines to Re-Authenticate¶
Change your error code handling if you use FioriWKWebViewPresenter
SAPFioriFlows code returns FioriPresenterError.cancelled (no longer FioriPresenterError.failed) when the user declines to re-authenticate (by performing a cancel operation on FUIInfoViewController) and the app uses FioriWKWebViewPresenter as the presenter for OAuth2AuthenticationStep.
Fiori for iOS Version 9.2¶
New Features for List Picker (FUIListPickerFormCell, FUIListPickerCollectionViewCell, and FUIListPickerTableViewController)¶
When modal presenting the FUIListPickerTableViewControllerCell from FUIListPickerFormCell or FUIListPickerCollectionViewCell on iPhone devices, the initial FUIListPickerTableViewController will be presented in half modal sheet.
An option has been added to display an alert pop-up when isUndoEnabled is true and the user tries to cancel the selections.
An anchor button will be shown, as an option, when a user scrolls pass the Selected section of the FUIListPickerTableViewController. The tableview will be scrolled to the top when the button is tapped.
A new option has been added to display the selection checkmark on the trailing side (the default) or the leading side of the tableview.
New Features for FUIDataTable and FUIDataTableModel¶
Paging support: when FUIDataTable is scrolling, a new closure, didScroll for FUIDataTableModel, is provided to tell the app the current contentOffset and the visible indexes of rows and columns. When the scrolling is reaching the end of the FUIDataTable, developers can append new rows so that the scrolling can continue endlessly.
Update on Filter Feedback Bar (FUIFilterFeedbackControl)¶
Minimal touchable height was adjusted from 38 to 44.
A new property, keepsItemOrderOnSelection, was introduced for better accessibility support. When keepsItemOrderOnSelection is true, the selected items remain at the locations where the items are located before selection. When keepsItemOrderOnSelection is false, the selected items may be moved to the left. The default value of the keepsItemOrderOnSelection property is false. By default, the behavior is the same as release 9.1.
Step Progress Indicator¶
The FUIStepProgressIndicator is a UIView subclass that enables a developer to present linear step progress with an array of FUIStepItem using the default Fiori indicator.
Example code:
// Create instances of `FUIStepProgressIndicator`.
let items: [FUIStepItem] = []
let view = FUIStepProgressIndicator(selection: "step id",
stepItems: items)
view.title.text = "step title"
view.primaryAction.setTitle("All Steps: 4)", for: .normal)
view.primaryAction.setImage(UIImage(systemName: "chevron.right"), for: .normal)
view.selectionDidUpdated = { [view] selection in
// handle new title for selected step
}
Accessibility Enhancement for FUIObjectTableViewCell, FUIObjectCollectionViewCell, and FUIObjectView¶
The accessibility enhancement:
- Uses a combined accessibility element for its inner
FUIObjectView. - Updates the accessibility elements sequence for
FUIObjectView.
Character Counter for Form Cells¶
The new Character Counter feature is supported for text input in the FUITextFieldFormCell, FUINoteFormCell, and FUIKeyValueFormCell form cells. This feature allows the developer to know how many characters have already been entered into the form cell, as well as enforcing a maximum number of characters allowed. The feature is enabled by setting isCharCountEnabled and maxTextLength, as described in the respective topics for FUITextFieldFormCell, FUINoteFormCell, and FUIKeyValueFormCell.
There are two ways to behave when maxValueTextLength is reached. One way is to allow the user to continue to input characters even after maxValueTextLength is reached. This generates an error state with an error message and a semantic negative color. The other way is to auto-stop user input when maxValueTextLength is reached. The allowsBeyondLimit boolean value determines which behavior is expected.
Text Input Error Handling¶
This new feature supports displaying error messages for text input fields in the FUITextFieldFormCell, FUINoteFormCell, and FUIKeyValueFormCell form cells. It allows the application to validate the user input and show an error message for user correction. The UI component will be shown in error state with title and border in the semantic negative color when the error flag has been set by an API or the character counter. The error message will be shown in the errorView or validation message based on API settings.
Update Text Input Readonly Design¶
This UX improvement has been applied to the text input field in FUITextFieldFormCell, FUINoteFormCell, and FUIKeyValueFormCell. The outline around the bounding text box for readonly state has been removed.
OData Library for SAP BTP SDK for iOS Version 9.2¶
- Support media/stream operations in
changeSetwithin a batch.
Offline OData Library for SAP BTP SDK for iOS Version 9.2¶
- Added support for client-only entities and local drafts.
- Added support for media requests in
ChangeSet. - Added support for Geography and Geometry types in OData 4.0.
- Added a new API to set the cache size for local databases.
What's New in Version 9.1¶
SAP BTP SDK for iOS version 9.1 supports iOS 15+ and Xcode 14.
Breaking Changes: SAPFioriFlows
If you are using the SAPFioriFlows framework, then you are affected by minor incompatible changes to the ApplicationUIManaging protocol.
You must add a new argument, scene sessionID: String?, to your implementation of functions:
- showApplicationScreen(completionHandler:)
- hideApplicationScreen(completionHandler:)
Example of your previous application code:
class ApplicationUIManager: ApplicationUIManaging {
func showApplicationScreen(completionHandler: @escaping (Error?) -> Void) {
// your code
}
}
You have to add scene sessionID: String? as a new function argument:
class ApplicationUIManager: ApplicationUIManaging {
func showApplicationScreen(scene sessionID: String?, completionHandler: @escaping (Error?) -> Void) {
// your code (no changes required unless you want adopt Multi-Window support)
}
}
Project Generation in SAP BTP SDK Assistant for iOS With Async/Await APIs¶
SAP BTP SDK Assistant for iOS version 9.1 will generate Xcode projects with code that leverages the new, modern Swift async/await APIs that SAPOData and SAPOfflineOData frameworks have adopted.
For new projects, we recommend that you use async/await APIs, and therefore this is now the default behavior.
Adopting async/await for existing offline applications requires additional changes in your application code as OfflineDataServiceAsync introduces new/changed APIs.
Opt-out if you are not ready to adapt your existing code
You will be able to opt-out if you need to generate projects and OData proxy classes using the legacy completionHandler-based APIs.
App Attestation¶
SAP Mobile Services allows a provider to integrate with Apple's App Attest service. This helps the server to identify whether requests have come from a legitimate instance of an application. Access to back-end resources can be granted or rejected based on this determination.
When using the ApplicationAttestationStep onboarding step from the SAPFioriFlows framework, the application interacts with the SAP Mobile Services's provider to obtain an attestation of the app or device's authenticity.
Apps implementing user onboarding without SAPFioriFlows can leverage the underlying AttestationObserver from the SAPFoundation framework.
You can enable the app attestation feature in the SAP Mobile Services app configuration during app creation using the SAP BTP SDK Assistant for iOS. The attestation settings in the cockpit are then used in the generated Xcode projects.
Push Topic Subscription¶
Applications created using the SAP BTP SDK for iOS can subscribe to specific push notifications based on a user's topics of interest, such as patches, new features, or security, for example. Topics may be considered to be part of the relationship between mobile apps and the notification producer for those given topics. The SDK supports customizing this relationship by allowing users to subscribe to certain topics while ignoring others. This helps app users remain interested in device notifications.
Use SAPFoundation.SAPcpmsRemoteNotificationClient to subscribe/unsubscribe to topics, as well as get all active subscriptions.
Multi-Window Support Using SceneDelegate¶
Beta
The multi-window support feature is presently in beta mode and may undergo incompatible changes in terms of APIs and generated code in subsequent releases. With this early access, developers can prototype and provide feedback before the feature gets finalized.
Multi-window support using SceneDelegate provides the ability to make use of SceneDelegate to create and manage multi-window apps. This feature enhances and introduces new APIs in SAPFoundation, SAPFioriFlows, and appropriate code changes in the generated code as well.
Projects generated by the SAP BTP SDK Assistant for iOS version 9.1 will use these APIs correctly out-of-the-box.
During onboarding, a single scene will be responsible for the onboarding process, while other scenes, if any, will wait until the onboarding process is completed successfully. If the current onboarding scene gets closed or terminated, one of the other scenes will assume the responsibility and restart the onboarding process. Similarly, a single scene will be responsible for handling the passcode screen, while other scenes if any, will wait until the passcode has been entered. If the current passcode scene gets closed or terminated, one of the other scenes will assume the responsibility and display the passcode screen.
After onboarding/entering the passcode successfully, each scene will have its own view of the app.
Fiori for iOS Version 9.1¶
FUIToolbar¶
FUIToolbar is supported as a subclass of 'UIToolbar', which displays the UIBarButtonItem array in the Fiori style.
FUITimelinePreviewTableViewCell, FUITimelineCell, and FUITimelineMarkerCell¶
Timestamp and content have been repositioned to improve look and feel. Also, there are new icons for the node type.
A new property, version, allows you to render according to the behavior of the previous release.
FUIDataTableCardCollectionViewCell¶
UI styles, including font and size, have been updated. In addition, the layout has been updated for certain font sizes to support better accessibility. If the font is xxxLarge or higher, the layout will be changed from two columns to one column.
FUIEmptyStateView¶
FUIEmptyStateView is added to support a view that does not contain actual data. Developers can define this view's properties (title, body, image, etc.) to display
more meaningful messages to end users. Also, a button is available to allow developers to define what action can be taken on this view.
FUIPrivacyNoticeViewController¶
FUIPrivacyNoticeViewController is added to display a permission screen to show the user the reason for requesting permission.
FUIDataTable¶
FUIDataTable is enhanced to support editing the data table cell. Refer to FUIDataTable for information on the data types that can be edited.
Fiori Icons¶
A new set of Fiori-based icons are added to this release. These icons are designed based on SAPUI5 SDK icons and provide a consistent user experience between mobile and Web apps.
New UICollectionViewCell Components¶
The following components are added to be used as UICollectionViewCell: FUIFilterFormCell, FUITitleFormCell, FUIDurationPickerFormCell, FUIDatePickerFormCell, FUIAttachmentsFormCell,
and FUIValuePickerFormCell.
Offline OData Library for SAP BTP SDK for iOS Version 9.1¶
- Added support for not populating the relationship data for a referential constraint. For a navigation property with a referential constraint, there is no need to download the relationship data, as the relationship can be determined through the referential constraint in the client SDK. This can help to decrease the database size and improve the speed of the initial download.
- Added upload and download failure events into the
EventLogentity set. - Added support for
asyncstyleOfflineDataServiceAPIs.
What's New in Version 9.0¶
SAP BTP SDK for iOS version 9.0 supports iOS 15+ and Xcode 14.
Version 8.0.x will continue to support iOS 14 and Xcode 13.
Theming¶
Administrators can change the appearance of an iOS application by managing Application Themes in SAP Mobile Services.
The SAP BTP SDK for iOS SAPFioriFlows framework provides APIs to download and apply a theme from SAP Mobile Services. , i.e. SAPcpmsThemeManager and NUIStyleSheetApplyStep.
Projects generated by the SAP BTP SDK Assistant for iOS will use these APIs correctly out-of-the-box.
Fiori for iOS Version 9.0¶
FUISwitchFormCell¶
FUISwitchFormCell is updated with a new look and feel, including color, font, and size.
FUIStepperFormCell¶
FUIStepperFormCell is added as a new UI control allowing the user to increment or decrement a value.
FUIRangeSliderFormCell¶
FUIRangeSliderFormCell is added as a new UI control allowing the user to select range values from the slider, e.g. a range as "from 10 to 30".
FUISortFilterViewController¶
FUISortFilterViewController is added as a new View Controller, allowing the user to narrow down results from a long list by setting criteria.
Users are able to reset filters and return to the initial list.
Collection View Cell Support¶
The following components are added to be used as UICollectionViewCell:
FUISwitchCollectionViewCell, FUISimplePropertyFormCell, FUIInlineSignatureCollectionViewCell, FUIStepperCollectionViewCell, FUISegmentedControlCollectionViewCell,
FUIListPickerCollectionViewCell, FUIRangeSliderCollectionViewCell, FUISliderCollectionViewCell, FUIOrderPickerCollectionViewCell, FUIRatingControlCollectionViewCell,
and FUIButtonCollectionViewCell.
UITabBar Support for SAP Fiori Theming¶
An extension, applyFioriStyle(), is added to UITabBar to support SAP Fiori theming by default. Developers can also customize the theming using the .nssfile.
UINavigationBar Enhancement¶
FUIBarButtonItem is enhanced to add a few convenience init()s to return a newly initialized SAPFiori Style, UIBarButtonItem.
It has the SAPFiori styles, font and color for title and icon, .quaternaryFill background color for .highlighted state, and a minimum 44x44 touch area.
FUIFilterFormCell Enhancement¶
The FUISegmentedControlFormCell feature has been combined with FUIFilterFormCell. FUIFilterFormCell can now support fixed and flexible button styles, as well as single and multiple selection mode.
The check mark icon has also been added to improve accessibility.
Chart Color Update¶
Chart colors for chart1 to chart11 are updated.
Offline OData Library for SAP BTP SDK for iOS Version 9.0¶
- Support "deep insert to many end" when the back end can respond with child entities in the same order as the request.
- Support reporting client-side metrics in the mobile services cockpit, including total synchronization time, network time, server processing time, and success and failure count.
- Initial support for OData 4.01.
What's New in Release 8.0¶
Fiori for iOS for SAP BTP SDK for iOS Version 8.0¶
Color Palette¶
The color palette has been updated to version V7.
This version is now the default for all components.
Text Input¶
FUITextFieldFormCell is updated to support a new layout that allows the key and value fields to be stacked.
It also supports a new state called isReadOnly.
Note Form Cell¶
Version 8.0 provides a new implementation of FUINoteFormCell, replacing the previous one.
This implementation supports the cell height to be adjusted automatically to allow the entire content of the note form cell to be displayed.
Key Value Form Cell¶
Version 8.0 provides a new implementation of FUIKeyValueFormCell, replacing the previous one.
This implementation provides a keyName field and an editable value text field, allowing the user to enter the value for this property.
This implementation supports the cell height to be adjusted automatically to allow the entire content of the key value form cell to be displayed.
Data Table Card¶
FUIDataTableCardView now supports a new chart type to display the data as a table.
Object Header¶
FUIObjectHeaderView supports a new layout. It also supports additional new properties, including statusLayout,
statusImageViewAlignment, substatusImageViewAlignment, kpiView, labelItems, numberOfLabelItems, etc.
Button¶
FUIButton provides new and enhanced functionality:
FUIButtonhas been updated to have a new look and feel.- New button styles, including Primary, Secondary, and Tertiary.
- Button semantic attributes: normal, tint, and negative.
- Image and icon on the button, along with the button label.
- Button style dependent on control state, color scheme, and configuration change.
- Button shadow that can be enabled and disabled by the application.
Onboarding¶
This version of the SDK provides the following onboarding features and functionality enhancements:
- Enhanced passcode input field and new show/hide passcode mode.
- New
FUIButtonstyles.
Object Cell¶
FUIObjectTableViewCell has been updated to support a new layout, with changed location of tags, support for overlapped footnote icons, and overlapped avatar images for detailed image view.
Object Card¶
FUIObjectCardView is a new UI component that supports button-driven actions from the card. The card content supports displaying data for a business object, including title, subtitle, footnote status, detailImageView, and body.
List Card¶
FUIListCardView is a new UI component that supports button-driven actions from the card. The card content supports displaying data for a list of business objects.
Security¶
QR Codes can now be digitally signed in SAP Mobile Services so that the SAP BTP SDK for iOS verifies the signature before proceeding with the onboarding process.
SAPFoundation.DigitalSignatureVerifier is a new class which can be used to verify any kind of signed data.
Feature Vector Policy (Feature Restriction Policy)¶
Using SAP Mobile Services, administrators can set feature flags (also called "feature restriction policies" on the server side) for applications.
Starting with this version of the iOS SDK, you can use the two new classes, SAPcpmsFeatureVectorPolicy and SAPcpmsFeature, in SAPFoundation to read these policies (called "feature vector policies" on the SDK side).
Developers can retrieve the values from the info dictionary of OnboardingContext using sapcpmsFeatureVectorPolicies OnboardingInfoKey.
Authorization Code Grant Flow Using PKCE¶
The authorization code grant flow now supports PKCE (Proof Key for Code Exchange) to prevent authorization code interception attack.
PKCE uses three parameters: code verifier, code challenge, and code challenge method.
Developers set the code challenge method in the ConfigurationProvider.plist generated by the SAP BTP SDK Assistant for iOS.
By default, S256(SHA256) is used as the code challenge method.
The SAP BTP SDK for iOS also supports S512 and plain.
SAP mobile service cockpit only supports S256 and plain methods.
Offline OData Library for SAP BTP SDK for iOS Version 8.0¶
- Enhanced
OfflineODataErrorandOfflineODataException. - Formatted some client error messages. Applications parsing these error messages may need to update their parsing implementation.
- Support defining refresh order by SDK.
- Support automatic client registration to mobile back-end tools.
- Support undo pending changes with custom headers.
What's New in Release 7.0¶
SAP BTP SDK for iOS version 7.0 supports iOS 14+ and Xcode 13.
Version 6.0.x will continue to support iOS 13 and Xcode 12.5
M1 Support Update for 7.0¶
Use the SAP BTP SDK for iOS frameworks on Mac computers with Apple silicon without the need for Rosetta.
Cross-Context SSO with OAuth Update for 7.0¶
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.
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.
Application Versioning Update for 7.0¶
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.
Lock App Based on Timeout in Passcode Policy Update for 7.0¶
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.
OData Library for SAP BTP SDK for iOS Version 7.0¶
OData CSDL documents with JSON Format Version 4.01 are now supported, including the corresponding new JSON payload syntax @xxx (instead of @odata.xxx) for OData instance annotations.
Offline OData Library for SAP BTP SDK for iOS Version 7.0¶
The Offline OData Library provides the following new functionality:
getLastDownloadTime()andgetLastUploadTime()APIs forOfflineODataProvider.setDefiningQueryGroups()API to group defining queries from the client side.- Default encryption support for the offline store.
- Additional OData version 4 feature support: Collection-valued property.
Fiori for iOS for SAP BTP SDK for iOS Version 7.0¶
| Feature | Description |
|---|---|
| New color palette | .latest palette version is v6. |
| New typeface | Support for SAP 72 font family, a new typeface designed for SAP and SAP Fiori. |
| FUIListPickerFormCell | Add a boolean property alwaysShowValueTextOnBottom to enforce showing value text underneath key label. |
| Remove contrast background | Affected components: FUIObjectHeader, FUIProfileHeader, FUIKPIHeader, FUINavigationBar. |
| Large title | The SDK enables a large title by default and provides default styles for the title. |
FUIAttachmentFormCell |
Support for inline validation messages. |
FUIEULAViewController |
Added a Boolean property, disablesConfirmActionUntilScrollingToEnd. |
FUIOrderPickerFormCell |
A new type of form cell for picking the sorting criteria. |
FUIHierarchyView |
Support for selecting items in the hierarchy view. |
FUIDurationPickerFormCell |
Support for setting the duration to zero. |
FUIPasscodePolicy |
Added lockTimeout, a new property for re-authenticating users after a period of time. |
FUITimelineNowIndicatorCell |
A new type of timeline cell for indicating the current time in the timeline. |
FUIInlineSignatureFormCell |
Provide additional customization options. |
SAP BTP SDK Assistant for iOS for SAP BTP SDK for iOS Version 7.0¶
| Feature | Description |
|---|---|
| Generator CLI | Added a CLI-based tool that generates the client side project using a single command. |
| Improved Security | Added features to request a user's consent before accessing directories using the Assistant. |
Additional Open Source Projects Update for 7.0¶
| Feature | Description |
|---|---|
| SAP Conversational AI (CAI) SDK for iOS | Connect to a bot on the SAP Conversational AI chatbot platform using the open-source SAPCAI Swift package. |
| FioriAR | Create AR annotations using the open-source FioriAR Swift package. |
| FioriSwiftUI | Use SwiftUI components of the open-source FioriSwiftUI Swift package to augment and, in some cases, replace the UIKit-based implementation contained in the SAPFiori framework of the SAP BTP SDK for iOS. |
Note
These Swift Packages are not distributed as binary frameworks.
What's New in Release 6.0¶
Security Update for 6.0¶
- Introduced the
Obfuscatormodule inSAPCommonfor securing the storage and transmission of secret keys (API keys) in the application code. - Introduced
SecurityManagerandAuxiliaryCommunicationcomponents inSAPFoundationto enable secure and reliable communications between the app and the app extension processes.
Authentication Update for 6.0¶
- Introduced support for anonymous access for mobile applications on Cloud Foundry using the new API Key Only method.
- Added support for the API Key Only authentication method to the SAP BTP SDK Assistant for iOS.
See API Key Only (Anonymous Access) for details.
Crash Reporting Update for 6.0¶
- Introduced crash reporting capabilities for mobile applications on Cloud Foundry.
- Added support for generating an app with crash reporting capabilities in the SAP BTP SDK Assistant for iOS.
See Crash Reporting Overview for details.
Support for App Extensions Update for 6.0¶
- Introduced
SecurityManagerandAuxiliaryCommunicationcomponents inSAPFoundationto enable secure and reliable communication between the app and the app extension processes. - Added support for creating widget extensions in the SAP BTP SDK Assistant for iOS.
See Widget Extensions for details.
Offline OData Library for SAP BTP SDK for iOS Version 6.0¶
- Support to remove a non-stream defining query (a stream-defining query pertains to a downloaded media entity, and is only used to download a media stream) from the opened offline store when
allow_defining_query_removalis enabled on the server. - Introduced new API
getDefiningQueriesfrom classOfflineODataProvider, which returns all existing defining queries.
See Removing Defining Queries for details.
-
Support OData version 4 with two new features:
- Enum type
- Stream property
-
Support OData version 4 with the following limitations:
- OData Atom (
xml) is not supported - Content-ID referencing in body and Content-ID referencing across change sets are not supported
- Binds for a collection of value navigation properties in a PATCH request are not supported
- Modification operations in batches outside of change sets are not supported
- Bound actions and functions are not supported
- Unbound actions and functions are not supported
- Collection properties are not supported
- Spatial types are not supported
- Singleton is not supported
- Derived entities are not supported
- Containment navigation properties are not supported
$filteroperations on date (such as add and sub) are not supported- System query options $search and $index are not supported
- Built-in functions or literals:
case,$level,$all,$each,$it, and$rootare not supported Upsertingan entity is not supported
- OData Atom (
See OData Version 4.0 Support and Limitations for details.
- Support localized progress default messages.
See Progress API for details.
Fiori for iOS for SAP BTP SDK for iOS Version 6.0¶
Floor Plan Update for 6.0¶
Floor plan provides a quick and easy way to build a full-screen list (FUIListFloorplan) or sectioned page (FUIObjectFloorplan) that complies with the List Report and Object patterns, respectively, in the SAP Fiori Design Guidelines.
See List floor plan and Object floor plan for details.
Chart Enhancement Update for 6.0¶
- All chart types now support pinch and zoom.
- Minor UI updates.
- Performance improvement.
Color Palette Update for 6.0¶
Introduced a new palette (version 5) in which some existing color styles have been updated and new color styles for elevated colors have been added.
Chart in Object Header Update for 6.0¶
Enhanced FUIObjectHeaderChartView layout to better support long KPI text.
See the FUIObjectHeaderChartView API for details.
Passcode Screen Update for 6.0¶
Added new APIs in FUIPasscodeController for more customization options.
See the FUIPasscodeController API for details.
Grid Table Update for 6.0¶
Enforce column layout in compact mode by setting useColumnLayoutInCompact.
See the FUIGridTableViewCell API for details
Copyable Content Update for 6.0¶
Add the isContentCopyable API to enable/disable the ability to copy content in components conforming to the FUIContentCopyable protocol.
Multi-User Onboarding Screen Update for 6.0¶
Introduce FUIMultiUserPasscodeController to support the multi-user onboarding use case.
See the FUIMultiUserPasscodeController API for details.
SAP BTP SDK Assistant for iOS for SAP BTP SDK for iOS Version 6.0¶
-
Added an end-user license agreement (EULA) consent screen to the Assistant. For fresh installations of the Assistant, it is mandatory to consent to the end-user license agreement to be able to use the Assistant.
-
Added support for predefined sample destinations during app creation on Cloud Foundry. For building sample apps easily, sample OData destinations configured with a sample OData Enterprise Sales and Procurement Model (ESPM) service are available, for both OData
V2andV4. -
Added improvements to the structure of the app generated by the Assistant. The app code has been separated into individual components/frameworks to make it easy to plug-in/plug-out individual components (such as generated proxy classes). Such modularization is also helpful in reusing code between the app and app extensions (such as app widgets).