You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

持续收到苹果ITMS-91061隐私清单缺失邮件的Flutter技术求助

解决Flutter 3.16.8提交App Store时的ITMS-91061隐私清单缺失问题

核心原因

Flutter 3.16.8本身没有内置隐私清单文件,苹果检测到Flutter作为第三方SDK缺少PrivacyInfo.xcprivacy,因此触发ITMS-91061警告。你之前添加的清单仅在App主目标中,并未嵌入Flutter.framework内部,所以苹果仍会检测到框架本身的缺失。

可行解决方案

方案1:升级Flutter到内置隐私清单的版本

Flutter团队在3.19.0及以上版本中已内置隐私清单,直接升级是最彻底的解决办法:

  • 执行命令升级:flutter upgrade
  • 重新构建并归档应用,提交至App Store Connect

方案2:手动给Flutter.framework添加隐私清单(不升级SDK的情况)

若暂时无法升级Flutter,可手动为Flutter.framework嵌入隐私清单:

  1. 在项目的ios/Flutter目录下创建PrivacyInfo.xcprivacy文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>NSPrivacyCollectedDataTypes</key>
    <array>
        <dict>
            <key>NSPrivacyCollectedDataType</key>
            <string>NSPrivacyCollectedDataTypeDeviceID</string>
            <key>NSPrivacyCollectedDataTypePurposes</key>
            <array>
                <string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
            </array>
        </dict>
    </array>
    <key>NSPrivacyTracking</key>
    <false/>
</dict>
</plist>
  1. 修改ios/Podfile,添加以下代码确保清单被打包进Flutter.framework:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    # 给Flutter.framework添加隐私清单
    if target.name == 'Flutter'
      target.build_configurations.each do |config|
        config.build_settings['COPY_PHASE_STRIP'] = 'NO'
        privacy_file = File.join(__dir__, 'Flutter', 'PrivacyInfo.xcprivacy')
        if File.exist?(privacy_file)
          target.resources_build_phase.add_file_reference(
            installer.pods_project.new_file(privacy_file)
          )
        end
      end
    end
  end
end
  1. 执行pod install,清理Xcode缓存(Command+Shift+K),重新归档提交

方案3:验证隐私清单是否正确嵌入

提交前可手动检查归档包:

  1. 归档后,在Xcode Organizer中右键归档包,选择"Show in Finder"
  2. 右键.xcarchive文件,选择"Show Package Contents"
  3. 进入Products/Applications/你的App.app/Frameworks/Flutter.framework
  4. 确认目录下存在PrivacyInfo.xcprivacy文件,苹果检测时就不会报错

注意事项

  • 不要仅在App主目标添加隐私清单,必须确保Flutter.framework内部包含该文件,苹果的检测是针对每个第三方SDK的
  • 若使用了其他第三方插件,需同步检查这些插件的SDK是否包含隐私清单,避免触发其他ITMS-91061警告

内容的提问来源于stack exchange,提问作者Pirman Dwiana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:21:03