cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

iOS 15 / Xcode 13 compatibility

selsoe
Discoverer
3,517

Hello,

I notice that the SAP BTP SDK for iOS version 6.x does not currently build on Xcode 13. There are several errors. However, version 5.x does build successfully. What is the timeline for an Xcode 13 compatible version of the 6.x branch?

Also, any idea when the SDK will support Swift Package Manager?

View Entire Topic
MarcoEidinger
Product and Topic Expert
Product and Topic Expert
0 Likes

Updated on October 5th 20201

What's New in 6.1 documentation

Swift 5.5, shipped with Xcode 13, introduced an incompatible compiler change that breaks the module stability of the SAPFiori framework. As a consequence, SAP BTP SDK for iOS 6.x versions are now restricted to a particular Xcode release. App developers will have to choose the appropriate SAP BTP SDK for iOS binary framework compiled with the matching version of their local Xcode release, as follows:

  • SAP BTP SD for iOS 6.1.7 is the first version compiled, and therefore can be used, with Xcode 13.
  • SAP BTP SDK for iOS 6.x versions lower than 6.1.7 can be used exclusively with Xcode 12.

For information about which Xcode release was used to compile a specific version of the SAP BTP SDK for iOS binary framework, see SAP BTP SDK for iOS release notes.

****************************

Hi,

Version 6.x of `SAPFiori` binary framework is not compatible with Xcode 13 beta and most likely will not be compatible with the final Xcode 13 version (to be released on September 20, ~ 10am PST).

The incompatibility is due to a compiler change by Apple, which changes the interface of UIKit. Previously in Xcode 12 an initializer marked as unavailable was still part of the swiftinterface and considered to be a mistake. This mistake was corrected in Xcode 13 by Apple but is an incompatible change. Therefore Xcode 13 will raise an error for SAPFiori's swiftinterface compiled with Xcode 12 and using UIKit.

Hence, SAP BTP SDK for iOS team is required to re-compile and re-publish SAPFiori with Xcode 13. Due to compliance reasons, SAP cannot do this based on Xcode beta software. Once Xcode 13 is officially released, SAP has to upgrade its central build system to use Xcode 13. Finally, the SAP BTP SDK for iOS team can work on re-compiling and re-publishing SAPFiori with Xcode 13. Once the new binary was published by SAP, you will find more information in SAP BTP SDK for iOS release notes.

In the meantime, as a manual workaround, you can remove the keyword override in SAPFiori.framework/Modules/SAPFiori.swiftmodule/x86_64-apple-ios-simulator.swiftinterface:12065:33 to make SAPFiori work in Xcode 13. For Xcode 12, please use the original SAPFiori binary framework and its binary framework.

Please note:

  • All the other SAP BTP SDK for iOS binary frameworks in version 6.x are compatible with Xcode 13.
  • Also, all SAP BTP SDK for iOS binary frameworks, including SAPFiori, in version 5.x are compatible with Xcode 13.
AlexGiguere
Contributor
0 Likes

Hi Marco, any update on that? It has been 2 weeks since Xcode13 is out, we are waiting for an SDK update compatible with iOS 15

I tried your workout with SDK 6.1.5, but I am not sure the 12065:33 line is the correct one ... do you mean removing all override keywords (hundreds) or just one in particular ?

alex

thanks

perage
Participant

alexandre.giguere3 6.1.7 can be found in the SAP launchpad 🙂 works with 13 🙂

MarcoEidinger
Product and Topic Expert
Product and Topic Expert

Hi Alexandre, I updated the answer. The same info can be found on the What's New in 6.1 documentation.

Please use 6.1.7 and any further patch release compiled with Xcode 13 if you are using Xcode 13.

6.1.7 is available on the SAP Software Download Center and will be soon available from the SAP Developer Trials and Downloads website.

P.S.: the manual fix for 6.1.5 would be to remove only that particular keyboard in line 12065

AlexGiguere
Contributor
0 Likes

awesome, I did not know that 6.1.7 was out, my bad, I was looking regularly the newest release notes for a new SDK in SAP One Support but it happens the release note for this SDK (6.1.7) has not been release yet, next time I will check in the download center first

thanks

alex

d_debiase21
Explorer
0 Likes

Hi Marco,

I'm facing with an issue with the new SAP BTP SD for iOS 6.1.7, when Itry to build the project I receive a lots of error with the odata service :

the same mobile app with SAP BTP SDK iOS 6.1.1 don't have the same issue, I'm working on Xcode 13, Could you give me an advice to solve this issue ?

Thank You

Davide

0 Likes

Hi, Can you share project structure how you exported SDK in your project? I want to see and want to check if I am doing any mistake here