Skip to main content

Posts

Showing posts with the label App Store

Solved: Flutter App Rejected (ITMS-91061) Missing Privacy Manifest

  You have uploaded your Flutter iOS build to TestFlight or the App Store, and the binary was immediately rejected or flagged with the following warning: ITMS-91061: Missing Privacy Manifest  – Your app includes "flutter_local_notifications", which accesses the following API categories: NSPrivacyAccessedAPICategoryUserDefaults. However, a privacy manifest file for this framework could not be loaded. You likely already have a  PrivacyInfo.xcprivacy  file in your project. You may have even audited your own native code. Yet, the rejection persists. This occurs because Apple’s static analyzer detects usage of "Required Reason APIs" (specifically  UserDefaults ) inside the compiled binary of a transitive dependency (the Flutter plugin), but that dependency failed to bundle its own privacy manifest during the CocoaPods/Framework embedding process. Here is the root cause analysis and the definitive fix to unblock your release. Root Cause Analysis: The Transitive Depend...

Fixing ITMS-91061: Missing Privacy Manifests in Flutter iOS Builds

  The CI/CD pipeline reports a success, the   .ipa   uploads to TestFlight, and five minutes later, you receive the automated email from App Store Connect: ITMS-91061: Missing Privacy Manifest  - Your app includes a third-party SDK that does not include a privacy manifest, or your app uses a Required Reason API without declaring it. As of Spring 2024, Apple enforces strict privacy manifest requirements. For Flutter applications, this is particularly volatile because your codebase is a wrapper around dozens of Objective-C/Swift CocoaPods, many of which haven't been updated to include the required  PrivacyInfo.xcprivacy  resource. This guide details how to audit your Flutter dependencies, map the required reasons, and implement a compliant manifest to unblock your release pipeline. The Root Cause: Required Reason APIs & Dependency Chains Apple identifies "fingerprinting" risks through specific standard libraries—specifically file system access, user defau...