dpa99c / cordova-plugin-firebasex

Cordova plugin for Google Firebase
MIT License
570 stars 457 forks source link

IOS ITMS-91053 errors #882

Closed franfrLor closed 3 weeks ago

franfrLor commented 1 month ago

I am using version 16.4 of the cordova-plugin-firebasex plugin

App Store Connect is still warning of APIs

ITMS-91053: Missing API declaration - Your app’s code in the “Lorca connect” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryFileTimestamp. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

ITMS-91053: Missing API declaration - Your app’s code in the “Lorca connect” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryDiskSpace. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

ITMS-91053: Missing API declaration - Your app’s code in the “Lorca connect” file references one or more APIs that require reasons, including the following API categories: NSPrivacyAccessedAPICategoryUserDefaults. While no action is required at this time, starting May 1, 2024, when you upload a new app or app update, you must include a NSPrivacyAccessedAPITypes array in your app’s privacy manifest to provide approved reasons for these APIs used by your app’s code. For more details about this policy, including a list of required reason APIs and approved reasons for usage, visit: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api.

How can I resolve this problem? Do I need to specify a specific version of the Firebase SDK to resolve this issue? (IOS_FIREBASE_SDK_VERSION)

pinguluk commented 1 month ago

https://stackoverflow.com/questions/78163859/itms-91053-missing-api-declaration-privacy

franfrLor commented 1 month ago

https://stackoverflow.com/questions/78163859/itms-91053-missing-api-declaration-privacy

Thanks I saw this. There are 2 solutions: Add the privacyinfo.xcprivacy file from xcode Update the SDK version to a version that has privacyinfo support.

I would like to do the second but how do I know which SDK to use?

BradCB commented 3 weeks ago

From what I read, Google Firebase has updated their SDKS with the required privacy info. Does this plugin use those updated SDKs or will it need to be updated?

I think Apple is requiring 3rd party SDKS (Firebase) to use the privacy info at the plugin level, meaning we cant just add it to our project. Can anyone confirm that?

pinguluk commented 3 weeks ago

From what I read, Google Firebase has updated their SDKS with the required privacy info. Does this plugin use those updated SDKs or will it need to be updated?

I think Apple is requiring 3rd party SDKS (Firebase) to use the privacy info at the plugin level, meaning we cant just add it to our project. Can anyone confirm that?

This plugin (repo) uses iOS SDK 10.17.0. The 10.23.0 version has the PrivacyInfo.xcprivacy added (https://github.com/firebase/firebase-ios-sdk/releases/tag/10.23.0).

Personally I've created a PrivacyInfo.xcprivacy file in the iOS root folder and added all the info there and I had no longer any warning (keep in mind if you delete the ios platform and you re-add it, you need to add the file again. Myself I've added a script to be executed at "after_platform_add" hook, to add this file automatically).

My recommendation is to use sdk 10.24.0 (I will update my fork with the latest versions, both for iOS and Android, as currently mine is set to 10.22.0) and if the warnings persist, I would add the PrivacyInfo.xcprivacy manually in the root folder.

pinguluk commented 3 weeks ago

I've updated my fork with iOS sdk 10.24.0 and bumped up Android sdks versions

dpa99c commented 3 weeks ago

Resolved by release of cordova-plugin-firebasex@16.5.0

franfrLor commented 2 weeks ago

thx it's work