Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
8 tasks done
harshitwe360 opened this issue Feb 14, 2025 · 10 comments
Open
8 tasks done

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

harshitwe360 opened this issue Feb 14, 2025 · 10 comments
Labels
bug Something isn't working triage

Comments

@harshitwe360
Copy link

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

  • I searched issues in this repository and couldn't find such bug/problem
  • I Google'd a solution and I couldn't find it
  • I searched on StackOverflow for a solution and I couldn't find it
  • I read the README.md file of the plugin
  • I'm using the latest version of the plugin
  • All dependencies are up to date with flutter pub upgrade
  • I did a flutter clean
  • I tried running the example project
@harshitwe360 harshitwe360 added bug Something isn't working triage labels Feb 14, 2025
@miquelbeltran
Copy link
Member

I'd like to verify if this issue was introduced in #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.

@vladotesanovic
Copy link

vladotesanovic commented Feb 14, 2025

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

@miquelbeltran
Copy link
Member

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

@vladotesanovic
Copy link

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

@miquelbeltran
Copy link
Member

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.

@vladotesanovic
Copy link

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

@BIBiBI12
Copy link

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

@vladotesanovic
Copy link

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

@fpvalter
Copy link

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
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triage
Projects
None yet
Development

No branches or pull requests

5 participants