---
code: ios_sdk_privacy_manifest
name: "隐私清单"
wikiToken: VOeVwYbSzivjP0kePy1c5K4cnmF
parentWikiToken: RCJRwHveBi4YRBk2AqncI0VqncS
updateTime: 1745309671000
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v5.0&lan=zh-CN&code=ios_sdk_privacy_manifest
---
# 隐私清单

### 背景介绍

在 WWDC23 中，苹果推出新的隐私清单政策。从 2024 年春季开始，如果你提交的新 App 或 App 更新添加了 App Store 上的 App 中常用的第三方 SDK，那么你需要包含相应 SDK 的隐私清单。

### 采集SDK适配方案

iOS 采集 SDK 从 v3.0.2-beta.2 版本开始提供隐私清单。

#### iOS 端集成

##### Cocoapods 集成

直接引入 SDK 即可，自动包含了隐私清单内容，无需手动处理。

```
pod 'ThinkingSDK', '>= 3.0.2'
```

##### Framework 集成

iOS 端采集 SDK 的 .xcframework 库内部已经添加了隐私清单文件，但是没有添加签名。如果你需要签名，请自行使用合适的证书进行签名。

1. 下载并解压 iOS SDK
1. 将`ThinkingSDK.xcframework`、`ThinkingDataCore.xcframework`拖入 XCode Project Workspace 工程项目中
1. 找到Targets，在Build Settings菜单的`Other linker flags`选项添加`-ObjC`
#### 游戏引擎集成

##### 使用手动的方式来处理隐私清单文件

1. 游戏引擎编辑器自动编译出一份 XCode 工程
1. 在这份 XCode 工程中创建你自己项目相关的隐私清单文件，参考苹果隐私清单规范
1. 下载数数采集 SDK 的隐私清单文件（参考附录）
1. 手动的将数数采集 SDK 的隐私清单文件与你工程中的隐私清单进行数据整合
1. 将附录中 `NSPrivacyCollectedDataTypes` 下的所有 item 分别复制到 App 工程中的 PrivacyInfo.xcprivacy 文件的对应 key 下
1. 将 `NSPrivacyAccessedAPITypes` 下的所有 item 分别复制到 App 工程中的 PrivacyInfo.xcprivacy 文件的对应 key 下
#### 跨平台框架集成

##### 使用手动的方式来处理隐私清单文件

1. 跨平台框架（例如：Flutter、RN）的编辑器自动编译出一份 XCode 工程
1. 在这份 XCode 工程中创建你自己项目相关的隐私清单文件，参考苹果隐私清单规范
1. 下载数数采集 SDK 的隐私清单文件（参考附录）
1. 手动的将数数采集 SDK 的隐私清单文件与你工程中的隐私清单进行数据整合
1. 将附录中 `NSPrivacyCollectedDataTypes` 下的所有 item 分别复制到 App 工程中的 PrivacyInfo.xcprivacy 文件的对应 key 下
1. 将 `NSPrivacyAccessedAPITypes` 下的所有 item 分别复制到 App 工程中的 PrivacyInfo.xcprivacy 文件的对应 key 下
### 附录

数数**采集** SDK 隐私清单，文件名为：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>NSPrivacyTracking</key>
    <false/>
    <key>NSPrivacyCollectedDataTypes</key>
    <array>
        <dict>
            <key>NSPrivacyCollectedDataType</key>
            <string>NSPrivacyCollectedDataTypeProductInteraction</string>
            <key>NSPrivacyCollectedDataTypeLinked</key>
            <false/>
            <key>NSPrivacyCollectedDataTypeTracking</key>
            <false/>
            <key>NSPrivacyCollectedDataTypePurposes</key>
            <array>
                <string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
            </array>
        </dict>
        <dict>
            <key>NSPrivacyCollectedDataType</key>
            <string>NSPrivacyCollectedDataTypeCrashData</string>
            <key>NSPrivacyCollectedDataTypeLinked</key>
            <false/>
            <key>NSPrivacyCollectedDataTypeTracking</key>
            <false/>
            <key>NSPrivacyCollectedDataTypePurposes</key>
            <array>
                <string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
            </array>
        </dict>
        <dict>
            <key>NSPrivacyCollectedDataType</key>
            <string>NSPrivacyCollectedDataTypePerformanceData</string>
            <key>NSPrivacyCollectedDataTypeLinked</key>
            <false/>
            <key>NSPrivacyCollectedDataTypeTracking</key>
            <false/>
            <key>NSPrivacyCollectedDataTypePurposes</key>
            <array>
                <string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
            </array>
        </dict>
        <dict>
            <key>NSPrivacyCollectedDataType</key>
            <string>NSPrivacyCollectedDataTypeCoarseLocation</string>
            <key>NSPrivacyCollectedDataTypeLinked</key>
            <false/>
            <key>NSPrivacyCollectedDataTypeTracking</key>
            <false/>
            <key>NSPrivacyCollectedDataTypePurposes</key>
            <array>
                <string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
            </array>
        </dict>
        <dict>
            <key>NSPrivacyCollectedDataType</key>
            <string>NSPrivacyCollectedDataTypeUserID</string>
            <key>NSPrivacyCollectedDataTypeLinked</key>
            <false/>
            <key>NSPrivacyCollectedDataTypeTracking</key>
            <false/>
            <key>NSPrivacyCollectedDataTypePurposes</key>
            <array>
                <string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
            </array>
        </dict>
        <dict>
            <key>NSPrivacyCollectedDataType</key>
            <string>NSPrivacyCollectedDataTypeDeviceID</string>
            <key>NSPrivacyCollectedDataTypeLinked</key>
            <false/>
            <key>NSPrivacyCollectedDataTypeTracking</key>
            <false/>
            <key>NSPrivacyCollectedDataTypePurposes</key>
            <array>
                <string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
            </array>
        </dict>
    </array>
    <key>NSPrivacyTrackingDomains</key>
    <array/>
    <key>NSPrivacyAccessedAPITypes</key>
    <array>
        <dict>
            <key>NSPrivacyAccessedAPIType</key>
            <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
            <key>NSPrivacyAccessedAPITypeReasons</key>
            <array>
                <string>1C8F.1</string>
            </array>
        </dict>
        <dict>
            <key>NSPrivacyAccessedAPIType</key>
            <string>NSPrivacyAccessedAPICategoryDiskSpace</string>
            <key>NSPrivacyAccessedAPITypeReasons</key>
            <array>
                <string>E174.1</string>
                <string>7D9E.1</string>
            </array>
        </dict>
        <dict>
            <key>NSPrivacyAccessedAPIType</key>
            <string>NSPrivacyAccessedAPICategorySystemBootTime</string>
            <key>NSPrivacyAccessedAPITypeReasons</key>
            <array>
                <string>35F9.1</string>
            </array>
        </dict>
        <dict>
            <key>NSPrivacyAccessedAPIType</key>
            <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
            <key>NSPrivacyAccessedAPITypeReasons</key>
            <array>
                <string>C617.1</string>
            </array>
        </dict>
    </array>
</dict>
</plist>

```
