plus_plugins icon indicating copy to clipboard operation
plus_plugins copied to clipboard

[Bug]: App Store Connect - ITMS-91061: Missing privacy manifest -

Open harshitwe360 opened this issue 11 months ago • 13 comments

Platform

IOS

Plugin

connectivity_plus

Version

6.1.3

Flutter SDK

3.27.3

Steps to reproduce

  1. Create new build to upload in Apple store
  2. After Uploading successfully the mail will come from Apple team.

Please correct the following issues and upload a new binary to App Store Connect.

ITMS-91061: Missing privacy manifest - Your app includes “Frameworks/connectivity_plus.framework/connectivity_plus”, which includes connectivity_plus, an SDK that was identified in the documentation as a commonly used third-party SDK. If a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements

Code Sample


Logs

Please correct the following issues and upload a new binary to App Store Connect.

ITMS-91061: Missing privacy manifest - Your app includes “Frameworks/connectivity_plus.framework/connectivity_plus”, which includes connectivity_plus, an SDK that was identified in the documentation as a commonly used third-party SDK. If a new app includes a commonly used third-party SDK, or an app update adds a new commonly used third-party SDK, the SDK must include a privacy manifest file. Please contact the provider of the SDK that includes this file to get an updated SDK version with a privacy manifest. For more details about this policy, including a list of SDKs that are required to include signatures and manifests, visit: https://developer.apple.com/support/third-party-SDK-requirements

Flutter Doctor

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.27.3, on macOS 15.3 24D60 darwin-arm64, locale en-IN)
[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0-rc4)
[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] VS Code (version 1.93.0)
[✓] Connected device (3 available)
[✓] Network resources

• No issues found!

Checklist before submitting a bug

  • [x] I searched issues in this repository and couldn't find such bug/problem
  • [x] I Google'd a solution and I couldn't find it
  • [x] I searched on StackOverflow for a solution and I couldn't find it
  • [x] I read the README.md file of the plugin
  • [x] I'm using the latest version of the plugin
  • [x] All dependencies are up to date with flutter pub upgrade
  • [x] I did a flutter clean
  • [x] I tried running the example project

harshitwe360 avatar Feb 14 '25 06:02 harshitwe360

I'd like to verify if this issue was introduced in https://github.com/fluttercommunity/plus_plugins/pull/3458

Can you try to force the version to 6.1.2 and see if it still happens?

dependency_overrides:
  connectivity_plus: '6.1.2'

Note no ^ in the version number.

miquelbeltran avatar Feb 14 '25 08:02 miquelbeltran

Hi @miquelbeltran

We tried with 6.1.2, same issue.

However, your code looks good, you have PrivacyInfo.xcprivacy file, defined in the same way as other projects.

Or, you need to generate a new one where you explains how you use it: https://github.com/fluttercommunity/plus_plugins/blob/main/packages/connectivity_plus/connectivity_plus/ios/connectivity_plus/Sources/connectivity_plus/PrivacyInfo.xcprivacy#L7

vladotesanovic avatar Feb 14 '25 14:02 vladotesanovic

Thanks for trying.

That's strange, we haven't got reports on iOS apps since we implemented them. I was afraid the recent fix in 6.1.3 for macos caused this, but if 6.1.2 also has the issue, then it must be something else.

My problem is that I currently don't have a production ready iOS app (or macos app) to try this, and I am basically doing what the flutter/packages repo is doing, e.g. like this one: https://github.com/flutter/packages/blob/7fc4c29fa3a49471626bdf8996288c7fe357130e/packages/ios_platform_images/ios/ios_platform_images/Sources/ios_platform_images/Resources/PrivacyInfo.xcprivacy#L4

miquelbeltran avatar Feb 14 '25 17:02 miquelbeltran

I m not expert either, but what I saw on this page where they listed your plugin: https://developer.apple.com/support/third-party-SDK-requirements for this plugin flutter_local_notifications they have added a bit more description on how they use data: https://github.com/MaikuB/flutter_local_notifications/blob/master/flutter_local_notifications/ios/flutter_local_notifications/Sources/flutter_local_notifications/PrivacyInfo.xcprivacy#L7

If I understood this correctly, this should be autogenerated by Xcode.

https://developer.apple.com/documentation/bundleresources/describing-data-use-in-privacy-manifests#Create-your-apps-privacy-report

vladotesanovic avatar Feb 14 '25 17:02 vladotesanovic

flutter_local_notifications they have added a bit more description on how they use data

That's because they access to what Apple considers private data (UserDefaults). connectivity_plus doesn't access to any private data.

miquelbeltran avatar Feb 15 '25 13:02 miquelbeltran

Ok, now I tested it with 6.1.3 version. App is now accepted and without warning.

vladotesanovic avatar Feb 15 '25 18:02 vladotesanovic

I used version 6.1.3 but still received a warning and was denied access.

BIBiBI12 avatar Feb 17 '25 06:02 BIBiBI12

@BIBiBI12 Check your pubspec.lock and try to upload App again, maybe something was cached on their side as well.

vladotesanovic avatar Feb 17 '25 10:02 vladotesanovic

I'm using 6.1.3 version and create the file PrivacyInfo.xcprivacy inside IOS folder. I'm facing the same problem

That is my PrivacyInfo.xcprivacy file:

`

NSPrivacyTracking NSPrivacyTrackingDomains NSPrivacyCollectedDataTypes NSPrivacyAccessedAPITypes `

fpvalter avatar Feb 21 '25 15:02 fpvalter

PrivacyInfo.xcprivacy

For some reason that I don't know, connection_plus was only in pubspec.lock without any dependencies. I'm not using this package in the project but I put it in pubspec.yaml in version 3.1.13, did a pub get and removed the PrivacyInfo.xcprivacy file. It worked

I'm using 6.1.3 version and create the file PrivacyInfo.xcprivacy inside IOS folder. I'm facing the same problem

That is my PrivacyInfo.xcprivacy file:

`

NSPrivacyTracking NSPrivacyTrackingDomains NSPrivacyCollectedDataTypes NSPrivacyAccessedAPITypes `

For some reason that I don't know, connection_plus was only in pubspec.lock without any dependencies. I'm not using this package in the project but I put it in pubspec.yaml in version 3.1.13, did a pub get and removed the PrivacyInfo.xcprivacy file.

It worked

fpvalter avatar Feb 21 '25 16:02 fpvalter

I'm not using this package in the project but I put it in pubspec.yaml in version 3.1.13

There is some 3rd party dependency using it and they are not up-to-date.

Use the command dart pub deps to find out who is still using that old version and ask them to upgrade: https://dart.dev/tools/pub/cmd/pub-deps

miquelbeltran avatar Mar 03 '25 07:03 miquelbeltran

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 15 days

github-actions[bot] avatar Jun 02 '25 00:06 github-actions[bot]

hi everyone, Regarding the privacy issue, I have identified the solutions. Please refer to the following post for details.

https://www.linkedin.com/posts/guriqbal-singh-0b19491ab_flutter-iosdevelopment-appstore-activity-7336684045885501440-Mmg4?utm_source=social_share_send&utm_medium=member_desktop_web&rcm=ACoAADEVXUUBRObDsAKgmLua6UfUE8y6htMvNp)

guriqbalsingh120 avatar Jun 09 '25 05:06 guriqbalsingh120

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 15 days

github-actions[bot] avatar Sep 09 '25 00:09 github-actions[bot]