Some of you will be familiar with implementations in Kastri for various Third Party iOS SDKs in Kastri, such as Firebase Cloud Messaging (FCM). This article has important news about ongoing support for these.

The problem

Ever since Delphi added support for iOS, it has been possible to link in code from third party iOS SDKs. As long as you are able to import the headers (either by hand, using SDKTransform, which ships with Delphi, or now Octoid), you can use the third party code. Since the introduction of Xcode 14, in simple terms: Apple changed the way binaries are generated, including third party SDKs. Kastri currently has implementations for are based on “older” versions of these SDKs (i.e. pre Xcode 14), however due to a linker limitation in Delphi, it is not possible to use versions of the SDKs that were built with Xcode 14 or later.

A bigger problem

At WWDC 2023, Apple announced that they would be requiring all iOS apps to include privacy manifests in their info.plist to explain how any third party SDKs being used were collecting and using data from the user’s device. This is to apply from March 2024, i.e. next month. Google stated that they’re working on providing the privacy manifests, but only in a new version 10.x or maybe version 11.x framework, and as mentioned above, this is currently not possible in Delphi. This may mean that any updates of your app that includes such SDKs may be rejected.

What does this mean for Third Party iOS SDK support in Kastri?

For the affected iOS SDKs (including AdMob, Firebase Analytics, Firebase Cloud Messaging and Google ML Vision), no further work will be performed, as it is extremely likely that such time spent would be wasted.

What can be done?

  • Add your vote to the issue in Quality Portal (although it is read-only, you can still vote)
  • Make your concerns known to Embarcadero as to the seriousness of this issue, by emailing Developer Advocate Ian Barker. (Address provided with Ian’s permission)