cancel
Showing results for 
Search instead for 
Did you mean: 

iOS 15 / Xcode 13 compatibility

selsoe
Discoverer

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?

MarcoEidinger
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

the SAP BTP SDK for iOS team is aware that consumers of SAPFiori.xcframwork are facing compilation errors n iOS application compiled with Xcode 13 Beta software.

  • Do you face issues for other SDK frameworks? If yes then it would be most helpful to share as many details (i.e. build logs) as possible.

The SAP BTP SDK for iOS team is in contact with Apple for root cause analysis. As the binary framework is compiled with Library Evolution this issue should not occur.

Initial tests suggests that removing the keyword override in SAPFiori.framework/Modules/SAPFiori.swiftmodule/x86_64-apple-ios-simulator.swiftinterface:12065:33 seems to solve the issue.

  • I recommend that you try this workaround manually wile SAP and Apple are still investigating the root cause.

Once root cause analysis is concluded and a permanent fix was applied then I will create an answer.

To the unrelated question of "when the SDK will support Swift Package Manager? ":

  • Do you mean to consume the binary frameworks through Swift Package Manager or do you hope to actually being able to build from source code when consuming SDK frameworks through Swift Package Manager?

There are considerations from the SAP BTP SDK for iOS team to open-source certain SDK frameworks as well as to vend (remaining) binaryframeworks through SPM. No dedicated timeline is yet established.

selsoe
Discoverer

Hi Marco. Thank you for your reply. No, I'm not currently facing issue with other frameworks than SAPFiori. Thank you for providing a work around. I think I'll simply wait for a new version of the SDK before trying again.

As for the SPM support, I was simply hoping to be able to consume the binary frameworks.

0 Kudos

I am also facing issue in sap common.xc framework and sap.foundation.xc framework I tried to add it in my project but still getting compiler error can you help me with this

Accepted Solutions (0)

Answers (1)

Answers (1)

MarcoEidinger
Product and Topic Expert
Product and Topic Expert
0 Kudos

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 Kudos

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 Kudos

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 Kudos

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 Kudos

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