— Firebase, iOS SDK, Privacy, Manifest, Privacy Manifest — 1 min read
As of May 2024, Apple has introduced a new requirement for developers to use a Privacy Manifest when accessing certain permissions and APIs in their apps. One such case involves the usage of mach_absolute_time
, which was used in the Firebase iOS SDK. In this article, we'll explore the issue and discuss the solution.
Developers integrating FirebaseCrashlytics into their iOS apps encountered an issue related to privacy manifest requirements. Using the Firebase SDK was causing declaration requirements for NSPrivacyAccessedAPICategorySystemBootTime
. The root cause of this was traced back to the usage of mach_absolute_time
in the FIRCLSProfiling.c
inside the SDK.
To address this issue, it looks like the Firebase SDK maintainers took action. In pull request #12664, they removed all usages of mach_absolute_time
. This change was included in the 10.24.0 release of the Firebase iOS SDK.
If you encounter this issue in your app, follow these steps:
Update the SDK: Ensure that you are using the latest version of the Firebase iOS SDK (10.24.0 or newer). By doing so, you'll benefit from the removal of mach_absolute_time
, which eliminates the need for declaring NSPrivacyAccessedAPICategorySystemBootTime
.
Dependency Management:
Package.resolved
(just making the changes in XCode is the easiest way to do this) file to reflect the correct version.Podfile.lock
.The issue has been resolved in Firebase iOS SDK 10.24.0! Upgrading to this version ensures compliance with Apple's privacy manifest requirements(specifically for NSPrivacyAccessedAPICategorySystemBootTime
).