weixin_37922653 2025-09-12 17:41 采纳率: 0%
浏览 5

ITMS-91061问题

想咨询一个大包那个隐私的问题,ITMS-91061: Missing privacy manifest - 就是这个,我现在有五个报错是不是需要每个都添加一个New Run Script Phase脚本

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2025-09-12 17:42
    关注

    下午好🌅🌅🌅
    本答案参考通义千问

    ITMS-91061 是 Apple 审核过程中常见的错误,表示你的应用缺少必要的隐私描述信息(Privacy Manifest)。这个错误通常出现在使用某些需要用户隐私权限的功能时,比如访问相册、位置、联系人、麦克风等。


    问题解释

    ITMS-91061 的意思是:

    Missing privacy manifest
    你的应用在 App Store 上架时缺少了隐私声明文件(Privacy Manifest),这会导致审核失败。

    Apple 要求所有使用敏感数据或功能的应用必须提供隐私声明,以确保用户知情并同意。


    🧠 你提到的五个报错是否都需要添加 Run Script Phase?

    不一定,但如果你的应用中使用了多个涉及隐私的功能(如相机、位置、相册、联系人、麦克风等),那么每个功能都可能触发 ITMS-91061 错误。

    🔍 为什么会出现多个报错?

    如果应用中使用了多个需要隐私权限的功能(例如:同时用到了摄像头、定位、相册等),而这些功能没有在 Info.plist 中正确声明,就会导致多个 ITMS-91061 报错。


    解决方案(详细步骤)

    以下是解决 ITMS-91061 问题的完整步骤:

    1. 检查 Info.plist 文件中的隐私描述字段

    在 Xcode 中打开你的项目,找到 Info.plist 文件,确保以下字段已正确填写(根据你使用到的功能):

    | 功能 | 对应的 Info.plist 字段 | |------|-------------------------| | 访问相册 | NSPhotoLibraryUsageDescription | | 使用相机 | NSCameraUsageDescription | | 使用麦克风 | NSMicrophoneUsageDescription | | 获取位置 | NSLocationWhenInUseUsageDescriptionNSLocationAlwaysUsageDescription | | 访问联系人 | NSContactsUsageDescription | | 访问日历 | NSCalendarsUsageDescription |

    重点: 每个使用隐私功能的地方都必须有对应的描述。

    示例:

    <key>NSPhotoLibraryUsageDescription</key>
    <string>我们需要访问您的相册以选择照片。</string>
    

    2. 确保你已经提交了 Privacy Manifest 文件

    如果你的应用使用了以下功能之一,必须提交 Privacy Manifest 文件:

    • 相册(Photos)
    • 麦克风(Microphone)
    • 位置(Location)
    • 蓝牙(Bluetooth)
    • 通知(Notifications)

    如何生成 Privacy Manifest 文件?

    1. 打开 Xcode。
    2. 在菜单栏中选择 Product > Archive
    3. 在 Organizer 窗口中选择你的 Archive。
    4. 点击 Validate
    5. 如果提示缺少 Privacy Manifest,Xcode 会提示你下载并填写它。
    6. 下载后,将 .privacymanifest 文件放入项目根目录。
    7. Info.plist 中添加如下字段:
      <key>SKAdNetworkItems</key>
      <array>
          <string>your-skadnetwork-id</string>
      </array>
      

      (如果适用)


    3. 不需要为每个功能都添加 Run Script Phase

    Run Script Phase 通常是用来处理打包时的自动化任务(如代码签名、资源清理等),不是解决 ITMS-91061 的方法

    所以:

    • 不需要为每个报错添加一个新的 Run Script Phase。
    • 只需确保 Info.plist 正确填写,并且提交了 Privacy Manifest 文件即可。

    🛠️ 修改后的 Info.plist 示例

    <dict>
        <key>NSPhotoLibraryUsageDescription</key>
        <string>我们需要访问您的相册以选择照片。</string>
        <key>NSCameraUsageDescription</key>
        <string>我们需要访问您的相机以拍摄照片。</string>
        <key>NSMicrophoneUsageDescription</key>
        <string>我们需要访问您的麦克风以录制音频。</string>
        <key>NSLocationWhenInUseUsageDescription</key>
        <string>我们需要访问您的位置以提供附近服务。</string>
        <key>NSContactsUsageDescription</key>
        <string>我们需要访问您的联系人以分享内容。</string>
    </dict>
    

    🧾 总结

    | 问题 | 解决方案 | |------|----------| | ITMS-91061 | 添加缺失的隐私描述字段到 Info.plist | | 多个报错 | 检查每个使用隐私功能的地方是否都有对应的描述 | | 是否需要 Run Script Phase | 不需要,只需完善 Info.plist 和提交 Privacy Manifest |


    ✅ 最终建议

    • 不要手动添加 Run Script Phase 来解决这个问题。
    • 确保所有隐私功能都有对应的 Info.plist 描述。
    • 提交 Privacy Manifest 文件(如果适用)。

    如有更多关于隐私声明的问题,欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 创建了问题 9月12日