赞
踩
网上搜了很多文章,总算有点头绪了。其实隐私清单最后做出来就是一个plist文件。找了几个常用三方已经配好的看了看,比着做就好了。
WWDC23 中关于隐私部分的更新(WWDC23 隐私更新官网),其中提到了第三方 SDK 的隐私清单和签名,并且要求开发者自 2024 年春季开始,新发布的 app 或者 app 更新中携带的第三方 SDK 需要提供隐私清单,如果 SDK 是以二进制形式依赖的话,则同时需要提供签名。。
当你准备分发 App 时,Xcode 会将 App 使用的所有第三方 SDK 的隐私清单合并为一个简单易用的报告。
这个报告内容全面,总结了 App 中的所有第三方 SDK,让你能够更轻松地创建更准确的隐私标签。
因此嵌入 App 的 SDK 和三方库都需要包含 PrivacyInfo.xcprivacy 。
二、 下面开始创建 隐私清单 (privacy manifest)的创建
privacy文件的源代码如下。在xcode里选择open as ——> souce code显示如下。 open as :ASCII Property List如上图 显示为plist格式。这个是腾讯即时通信的清单 open as code如下
- <?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/>
- <key>NSPrivacyTrackingDomains</key>
- <array/>
- <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>NSPrivacyAccessedAPICategoryDiskSpace</string>
- <key>NSPrivacyAccessedAPITypeReasons</key>
- <array>
- <string>E174.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>NSPrivacyAccessedAPICategoryUserDefaults</string>
- <key>NSPrivacyAccessedAPITypeReasons</key>
- <array>
- <string>CA92.1</string>
- </array>
- </dict>
- </array>
- </dict>
- </plist>
对应的plist展示如下
Key | 阐明 |
---|---|
NSPrivacyTracking | 布尔值,指示您的应用程序或第三方SDK是否运用应用程序盯梢透明度结构下定义的数据进行盯梢。官方文档 |
NSPrivacyTrackingDomains | 一组字符串,列出您的应用程序或第三方SDK连接到的参加盯梢的互联网域。如果用户未通过应用程序盯梢透明度结构授予盯梢权限,则对这些域的网络恳求将失利,您的应用程序将收到错误. 如果将NSPrivacyTracking设置为true,则需求在NSPrivaceTrackingDomains中至少供给一个internet域;否则,您可以供给零个或多个域。 |
NSPrivacyCollectedDataTypes | 一组字典,用于描绘应用程序或第三方SDK搜集的数据类型。有关要在字典中运用的键和值的信息,请参阅描绘隐私清单中的数据运用。 |
NSPrivacyAccessedAPITypes | 运用了苹果需求阐明原因的api时需求填写,请参阅描绘所需原因API的运用。 |
required reason API
相关的 API 大概涉及:
具体列表可查看 Apple 官网说明:查看api名称和使用的理由Describing use of required reason API | Apple Developer Documentation
下面咱们看几个第三方的隐私清单是怎么处理的。比如 SDWebImage ,SD的代码如下,
- <?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/>
- <key>NSPrivacyTrackingDomains</key>
- <array/>
- <key>NSPrivacyAccessedAPITypes</key>
- <array>
- <dict>
- <key>NSPrivacyAccessedAPIType</key>
- <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
- <key>NSPrivacyAccessedAPITypeReasons</key>
- <array>
- <string>C617.1</string>
- </array>
- </dict>
- </array>
- </dict>
- </plist>
plist长这样,看SD它就加了一个 File Timestamp
使用原因苹果官网的示例图
签名我们不用管。因为如果 SDK 是以二进制形式依赖的话,则同时需要提供签名。
参考文章,可以看融云和腾讯即时通信的添加步骤即时通信 IM 苹果隐私策略:PrivacyInfo.xcprivacy-协议与认证-文档中心-腾讯云
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。