技术咨询:SDK的Privacy manifest需开发者生成还是SDK团队负责?
关于SDK隐私清单责任与App Store隐私API声明警告的解决方案
一、SDK隐私清单的责任划分
- SDK维护团队:核心责任方。SDK内部调用的隐私相关API、数据收集逻辑只有SDK开发团队最清楚,因此必须由他们提供对应的
PrivacyInfo.xcprivacy文件,准确声明SDK的隐私行为细节。 - 应用开发者:负责确保SDK自带的隐私清单被正确打包进App;若SDK未提供隐私清单,需联系SDK团队索要,或在明确SDK隐私行为后补充到自身App的隐私清单中(优先建议由SDK团队提供,避免信息偏差)。
- 协作场景:如果SDK的隐私行为依赖开发者配置(比如开发者开启了SDK特定数据收集功能),双方需沟通确认,SDK团队明确告知开发者需要补充的声明内容,开发者负责在App隐私清单或App Store Connect隐私信息中同步更新。
二、解决App Store缺失API声明警告
你收到的警告是因为App使用了指定隐私API但未在隐私清单中声明,解决步骤如下:
- 排查API来源:先确认这些API是App自身代码调用的,还是集成的SDK调用的:
- 若为App自身调用:在App的
PrivacyInfo.xcprivacy文件中添加对应声明,每个API需注明实际使用目的。 - 若为SDK调用:联系SDK团队索要隐私清单并包含到项目中;若SDK暂未提供,可先在自身隐私清单中声明,同时督促SDK团队更新。
- 若为App自身调用:在App的
- 隐私清单声明示例:
针对你列出的API,在PrivacyInfo.xcprivacy中添加类似以下内容(注意根据实际使用目的选择对应理由代码):<key>NSPrivacyAccessedAPITypes</key> <array> <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> <dict> <key>NSPrivacyAccessedAPIType</key> <string>NSPrivacyAccessedAPICategoryDiskSpace</string> <key>NSPrivacyAccessedAPITypeReasons</key> <array> <string>E174.1</string> <!-- 示例:存储容量检测/缓存管理目的 --> </array> </dict> <dict> <key>NSPrivacyAccessedAPIType</key> <string>NSPrivacyAccessedAPICategoryUserDefaults</string> <key>NSPrivacyAccessedAPITypeReasons</key> <array> <string>CA92.1</string> <!-- 示例:存储应用设置/用户偏好目的 --> </array> </dict> </array> - 重新上传应用:添加完隐私清单后,重新编译App生成新的二进制文件,上传至App Store Connect即可消除警告。
内容的提问来源于stack exchange,提问作者Tejpreet Singh
相关产品推荐
相关产品推荐

