# ITMS-91064 错误修复：隐私清单追踪信息无效

> ITMS-91064 表示隐私清单里 NSPrivacyTracking 和 NSPrivacyTrackingDomains 相互矛盾。让两者一致，再重新构建即可。

原始页面：[ITMS-91064 错误修复：隐私清单追踪信息无效](https://devoria.fr/zh-hans/blog/itms-91064-invalid-tracking-information-fix)
作者：[Mehdi Azizi](https://devoria.fr/zh-hans/mehdi-azizi)
发布：2026-10-16
内容最后修订：2026-10-16


ITMS-91064 是 Apple 的自动拒绝，在你提交构建后通过邮件发来。它的意思是：你的隐私清单里两个和追踪有关的键相互矛盾。**解决办法：让 `NSPrivacyTracking` 和 `NSPrivacyTrackingDomains` 保持一致**，然后重新构建。

我在 TradaZen（我做的交易练习 App）上加了一个广告归因工具之后，就碰到了这个错误。下面讲原因和修复方法。

## ITMS-91064 错误是什么意思？

邮件标题是“ITMS-91064: Invalid tracking information”。它针对的是 `PrivacyInfo.xcprivacy` 文件，也就是每个 App 和每个 SDK 都可以内置的隐私清单。这个文件里有两个和追踪相关的键，这里的“追踪”是 App Tracking Transparency 意义上的追踪：

- `NSPrivacyTracking`：如果 App 或 SDK 把数据用于追踪，就为 true。
- `NSPrivacyTrackingDomains`：为追踪而连接的域名列表。

Apple 在关于[无效清单](https://developer.apple.com/documentation/technotes/tn3181-debugging-invalid-privacy-manifest)的技术说明里列出了三种会被拒的组合：

- `NSPrivacyTracking` 为 true，但域名列表是空的。需要把列表填上。我就是这种情况。
- `NSPrivacyTracking` 为 true，但某个域名写错了。域名不能带路径，结尾也不能有斜杠。
- `NSPrivacyTracking` 为 false，却列了域名。需要删掉这个列表。

根本规则写在[隐私清单](https://developer.apple.com/documentation/bundleresources/privacy-manifest-files)的文档里：`NSPrivacyTracking` 为 true 时，必须提供域名列表。

**Apple 的邮件会给出出错文件的名称和路径。** 仔细看这个路径：它能告诉你问题出在你 App 自己的清单，还是某个内置 SDK 的清单。

和其他 ITMS 错误一样，这不是审核员拒的。检查是自动的，在提交构建时进行，构建会被直接丢弃。

## 为什么会出现：每个目标各有一份清单

坑就在这里。SDK 往往自带一份清单，里面有它的域名。你可能以为这就够了。但你的 App 也有自己的清单，**在我这里被 Apple 拒掉的正是 App 的那一份**。

我的情况发生在 2026 年 7 月 21 日。给 TradaZen 接入广告归因工具时，我在 App 配置里声明了 `NSPrivacyTracking: true`，这本身没错。但我没有加 `NSPrivacyTrackingDomains`。SDK 的清单是完整的。而 App 的清单由 Expo 根据我的配置生成，写着“true”，列表却是空的。构建在处理阶段就被拒了。

**教训**：SDK 的清单覆盖不了你 App 的清单。只要你在配置里声明了追踪，就要同时声明域名。

## 在 Expo App 中修复 ITMS-91064

在 Expo 里，App 的清单在配置中的 `ios.privacyManifests` 下设置。原理见 [Expo 的隐私文档](https://docs.expo.dev/guides/apple-privacy/)，这个键的说明见[配置参考](https://docs.expo.dev/versions/latest/config/app/)。

1. **找到 SDK 的追踪域名。** 照抄你构建里实际内置的那个版本的清单列表，而不是网上最新版本的：两者可能不一样。不要自己编。
2. **把它们加进配置。** 下面两个域名只是示例，要换成真实的：

```json
{
  "expo": {
    "ios": {
      "privacyManifests": {
        "NSPrivacyTracking": true,
        "NSPrivacyTrackingDomains": [
          "example-tracking-domain.com",
          "another-tracking-domain.com"
        ]
      }
    }
  }
}
```

3. **在花钱构建之前检查生成的文件**，前提是你的 `ios` 目录由 Expo 生成并被 git 忽略。运行 `npx expo prebuild -p ios`，然后打开 `ios` 目录里生成的 `PrivacyInfo.xcprivacy` 文件。里面应该有值为 `true` 的 `NSPrivacyTracking`，以及完整的域名列表。
4. **重新构建并重新提交。** 清单是二进制文件的一部分：远程更新改不了它。

第 3 步要注意：这个命令可能会删除并重建 `ios` 目录。如果你手动改过里面的东西，就别在项目上直接运行。在副本上操作。

如果你的 App 根本不做追踪，那就更简单：把 `NSPrivacyTracking` 设为 `false`，并删掉列表。

## 这些域名对你的用户意味着什么

声明这些域名不只是走个形式。根据 Apple 的文档，如果用户没有在 App Tracking Transparency 弹窗里同意追踪，发往这些域名的请求就会失败。这是预期行为：只有用户同意了，追踪才会发出去。

你的 App Store 页面也要说同样的话。如果清单声明了追踪，页面上的隐私声明和你的隐私政策也必须写明。否则之后你可能会被审核员以 5.1.1 或 5.1.2 条款拒绝：详情见 [App 的隐私政策](https://devoria.fr/zh-hans/blog/ios-app-privacy-policy-guide)。

## 顺利提交你的构建

ITMS 错误只要会看，修起来很快。之后的人工拒绝则需要更多思考：处理思路见 [App 被 Apple 拒绝](https://devoria.fr/zh-hans/expertise/app-rejected-by-apple) 页面，最常见的原因见 [Apple 为什么拒绝 App](https://devoria.fr/zh-hans/blog/apple-app-rejection-reasons-real-cases)。

想在提交前检查你的材料，[Apple Review Kit](https://devoria.fr/zh-hans/kits/review-apple) 收录了我的检查清单，以及会帮你审查项目的 Claude Code skills。如果提交卡住了，想找个人帮你看看，[和我预约一小时](https://devoria.fr/zh-hans/coaching)：我们视频连线，在你的屏幕上一起过你的项目。如果你正在准备第一次上架，[做一下免费诊断](https://devoria.fr/zh-hans/diagnostic)：它会帮你理顺步骤顺序，并把我的 Apple 防拒检查清单发给你。

## 常见问题

### ITMS-91064 算是 App Review 拒绝吗？

不算人工审核员的拒绝。这是构建提交时、进入审核之前的自动检查。构建会被丢弃：你需要修正隐私清单，再提交一个新构建。

### NSPrivacyTrackingDomains 里应该填什么？

填你的 App 或 SDK 为追踪而连接的域名。照抄你构建中内置的那个版本的 SDK 清单里列出的域名。列表为空且 `NSPrivacyTracking` 为 `true`，正是 Apple 会拒绝的组合之一。

### 我的 SDK 清单还不够吗？

不够。在 TradaZen 上，SDK 的清单是完整的，构建照样被拒：因为 App 的清单声明了追踪，却一个域名都没有。只要 App 配置声明了追踪，就必须同时列出域名。

### 我的 App 不做追踪，该怎么办？

在配置里把 `NSPrivacyTracking` 设为 `false`，并删掉域名列表。然后确认你的 App Store 页面和隐私政策说的是同一回事。

### 不重新构建能修复 ITMS-91064 吗？

不能。隐私清单是提交给 Apple 的二进制文件的一部分。你必须修改配置、重新构建并重新提交。


## 你的项目

[Apple Review Kit](https://devoria.fr/zh-hans/kits/review-apple)：我在用的 App Store 审核检查清单、我被 Apple 拒绝后的修改、给审核员的备注，以及两个审查你 App 的 Claude Code skills。29 €。

[iOS Kit](https://devoria.fr/zh-hans/kits/ios)：用 Claude Code 做你的 iPhone App：我自己 App 的起步代码、检查其工作的 skills，以及 Apple Review Kit、App Store Screenshots Kit 和 ASO Kit。129,99 €。
