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]: ITMS-91061: Missing privacy manifest - Your app includes #3397

Open
8 tasks done
kssce opened this issue Dec 13, 2024 · 24 comments · May be fixed by #3458
Open
8 tasks done

[Bug]: ITMS-91061: Missing privacy manifest - Your app includes #3397

kssce opened this issue Dec 13, 2024 · 24 comments · May be fixed by #3458
Labels
bug Something isn't working triage

Comments

@kssce
Copy link

kssce commented Dec 13, 2024

Platform

macOS 14.5

Plugin

connectivity_plus

Version

6.1.1

Flutter SDK

3.24.5

Steps to reproduce

I had the same issue when connectivity_plus 6.1.0 was installed.
However, I received the same email even after updating to connectivity_plus 6.1.1 and deploying it.
(I did a flutter clean, removed all existing Pod-related files, and did a clean install again.)

ITMS-91061: Missing privacy manifest - Your app includes “Contents/Frameworks/connectivity_plus.framework/Versions/A/connectivity_plus”, which includes connectivity_plus, an SDK that was identified in the documentation as a privacy-impacting third-party SDK. Starting February 12, 2025, if a new app includes a privacy-impacting SDK, or an app update adds a new privacy-impacting 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.

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter

  ...
  connectivity_plus: ^6.1.1
  ...

pubspec.lock

  connectivity_plus:
    dependency: "direct main"
    description:
      name: connectivity_plus
      sha256: e0817759ec6d2d8e57eb234e6e57d2173931367a865850c7acea40d4b4f9c27d
      url: "https://pub.dev"
    source: hosted
    version: "6.1.1"
  connectivity_plus_platform_interface:
    dependency: transitive
    description:
      name: connectivity_plus_platform_interface
      sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204"
      url: "https://pub.dev"
    source: hosted
    version: "2.0.1"

macos/Podfile.lock

PODS:
  - connectivity_plus (0.0.1):
    - Flutter
    - FlutterMacOS
...
DEPENDENCIES
  - connectivity_plus (from `Flutter/ephemeral/.symlinks/plugins/connectivity_plus/darwin`)
...
EXTERNAL SOURCES:
  connectivity_plus:
    :path: Flutter/ephemeral/.symlinks/plugins/connectivity_plus/darwin
...
SPEC CHECKSUMS:
  connectivity_plus: 4c41c08fc6d7c91f63bc7aec70ffe3730b04f563

Code Sample

No response

Logs

...
[+1527 ms] Caching compiled dill
[ +131 ms] Connecting to service protocol: http://127.0.0.1:52...
[ +117 ms] Launching a Dart Developer Service (DDS) instance at http://127.0.0.1:0, connecting to VM service at http://127.0.0.1:52...
[  +44 ms] DDS is listening at http://127.0.0.1:52...
[  +77 ms] Successfully connected to service protocol: http://127.0.0.1:5...
[  +22 ms] DevFS: Creating new filesystem on the device (null)
[  +14 ms] DevFS: Created new filesystem on the device (file:///private/var/mobile/Containers/Data.......
[   +1 ms] Updating assets
[ +680 ms] Manifest contained wildcard assets. Inserting missing file into build graph to force rerun. for more information see #56466.
[   +5 ms] Syncing files to device ip14...
[   +2 ms] Compiling dart to kernel with 0 updated files
[        ] Processing bundle.
[        ] <- recompile package:pp/main.dart 7...
[        ] <- 7...
[   +2 ms] Bundle processing done.
[ +153 ms] Updating files.
[        ] Pending asset builds completed. Writing dirty entries.
[        ] DevFS: Sync finished
[        ] Syncing files to device ip14... (completed in 173ms)
[        ] Synced 0.0MB.
[        ] <- accept
[   +3 ms] Connected to _flutterView/0x1...
[   +1 ms] Flutter run key commands.
[        ] r Hot reload. 🔥🔥🔥
[        ] R Hot restart.
[        ] h List all available interactive commands.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] A Dart VM Service on ip14 is available at: http://127.0.0.1:52...
[        ] The Flutter DevTools debugger and profiler on ip14 is available at: http://127.0.0.1:91...

Flutter Doctor

[✓] Flutter (Channel stable, 3.24.5, on macOS 14.5 23F79 darwin-arm64, locale ko-KR)  
    • Flutter version 3.24.5 on channel stable at /Users/me/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision dec2ee5c1f (4주 전), 2024-11-13 11:13:06 -0800
    • Engine revision a18df97ca5
    • Dart version 3.5.4
    • DevTools version 2.37.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/me/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/me/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
    • Xcode at /Applications/Xcode16.1.app/Contents/Developer
    • Build 16B40
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)

[✓] IntelliJ IDEA Ultimate Edition (version 2024.3.1)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 83.0.4
    • Dart plugin version 243.23177

[✓] VS Code (version 1.96.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (5 available)            
    • macOS (desktop)                 • macos                     • darwin-arm64   • macOS 14.5 23F79 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad     • darwin         • macOS 14.5 23F79 darwin-arm64
    • Chrome (web)                    • chrome                    • web-javascript • Google Chrome 131.0.6778.140

[✓] Network resources
    • All expected network resources are available.

• 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
@kssce kssce added bug Something isn't working triage labels Dec 13, 2024
@miquelbeltran
Copy link
Member

Hmm... no idea, then. The privacy manifest is declared in the podspec.

My only suggestion is to fork the project and do some trial and error and see if there is something wrong with the provided manifest. If you find a solution, please submit a PR.

I don't have a macOS app/Apple dev account to test this.

@manbill
Copy link

manbill commented Jan 3, 2025

did you solve this problem?

@kssce
Copy link
Author

kssce commented Jan 4, 2025

I solved it with someone's help.
It worked on macOS, but I haven't tested it on iOS.
I hope someone will update this for the next version.

1 2

@manbill
Copy link

manbill commented Jan 4, 2025

I need to submit my app for iOS review, so I removed this dependency. I can only consider using it again after the dependency is fixed.

@nogahApplift
Copy link

nogahApplift commented Jan 9, 2025

Did you managed to solve the issue?
We have the same problem - using the latest version connectivity_plus 6.1.1, we got this warning from apple

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 privacy-impacting third-party SDK. Starting February 12, 2025, if a new app includes a privacy-impacting SDK, or an app update adds a new privacy-impacting 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.

@manbill

This comment has been minimized.

@manbill

This comment has been minimized.

@FlagElitov

This comment has been minimized.

@manbill

This comment has been minimized.

@manbill

This comment has been minimized.

@FlagElitov
Copy link

@manbill Thank you for your help. I removed this plugin and have provided a custom solution

@miquelbeltran
Copy link
Member

I won't be able to fix the issue, I don't have access to a MacOS app/AppStore account to verify if it works or not, so someone from the community will have to submit a fix.

If you have a custom solution then submit a PR with the fix, otherwise don't ask for updates or beg for fixes as it doesn't help anyone.

@Adwaithnow
Copy link

I am encountering the issue ITMS-91061 when submitting my app for review on the App Store. The app includes the connectivity_plus SDK, and according to Apple's new policy, starting February 12, 2025, all commonly used third-party SDKs must include a privacy manifest to be eligible for submission.

Here is the message I received from Apple:


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. Starting February 12, 2025, 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 or you won’t be able to submit the app for review in App Store Connect.


Steps to reproduce:

  1. Add the connectivity_plus SDK to a Flutter project.
  2. Submit the app for review on App Store Connect.
  3. Receive the error ITMS-91061 stating that the SDK is missing a privacy manifest.

Expected behavior:

The connectivity_plus SDK should include a privacy manifest file to comply with Apple's new requirements.

Actual behavior:

The SDK does not include a privacy manifest, and I cannot submit the app for review without it.

Additional Information:

Request:

Please update the connectivity_plus SDK to include the required privacy manifest file to ensure compliance with Apple's new policy.


pubspec.yaml
dependencies:
....
connectivity_plus: ^6.1.2
....

@Dev-Salem

This comment has been minimized.

@miquelbeltran
Copy link
Member

I really don't want to lock this thread, but I repeat: Don't ask for updates, and don't post the same error message that is at the top.

@miquelbeltran
Copy link
Member

My only idea on why this works for all other plugins but not connectivity_plus is that this project shares the codebase between ios and macos. That's not the case for the other plugins. What I will do is to undo that and duplicate the code. I will need someone from this thread to try my code with their app. I will post a link to the branch later.

@shahmirzali49
Copy link

shahmirzali49 commented Feb 4, 2025

@miquelbeltran thank you for trying/helping to solve this issue. I can test

@miquelbeltran
Copy link
Member

miquelbeltran commented Feb 4, 2025

You can test with:

dependency_overrides:   
     connectivity_plus:
       git:
         url: git://github.com/fluttercommunity/plus_plugins.git
         ref: fix/3397
         path: packages/connectivity_plus/connectivity_plus

Let me know how it goes.

@shahmirzali49
Copy link

Unfortunately the issue is continuing.

ITMS-91061: Missing privacy manifest - Your app includes “Frameworks/connectivity_plus.

  internet_connection_checker_plus: ^2.7.0

override_dependencies:   
     connectivity_plus:
       git:
         url: git://github.com/fluttercommunity/plus_plugins.git
         ref: fix/3397
         path: packages/connectivity_plus/connectivity_plus

@miquelbeltran
Copy link
Member

Hmm strange, thanks for checking nevertheless.

In that branch, the plugin has the same structure and privacy manifests as package_info_plus, for example.
I could see how in the shared Darwin codebase there was an issue with the Swift package manager implementation, which didn't look correct to me, but with the codebase split by platform that should be addressed.

I'd still appreciate it if more people can give it a try, also remember to clean your project and delete the pods' folder, just to be sure.

@shahmirzali49
Copy link

shahmirzali49 commented Feb 4, 2025

I think the issue is gone. Apple didn't send me Missing privacy manifest email. I used dependency_overrides instead of override_dependencies. Also I deleted Pods and installed again.

  internet_connection_checker_plus: ^2.7.0

dependency_overrides:
  connectivity_plus:
    git:
      url: https://github.com/fluttercommunity/plus_plugins.git
      ref: fix/3397
      path: packages/connectivity_plus/connectivity_plus

@miquelbeltran
Copy link
Member

Good to hear! Yes I made a typo when writing the instructions it should be dependency_overrides indeed.

@shahmirzali49
Copy link

Thank you for your help. Can you publish new version with this fix, when you available?

@miquelbeltran
Copy link
Member

Once it gets reviewed it will be released, but otherwise the dependency_overrides can be used meanwhile.

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

Successfully merging a pull request may close this issue.

8 participants