站内优化主要从哪些方面进行,名匠装饰,应用商店下载 安装正版,淘宝电商怎么才能做起来1. 背景 网上搜了很多文章#xff0c;总算有点头绪了。其实隐私清单最后做出来就是一个plist文件。找了几个常用三方已经配好的看了看#xff0c;比着做就好了。 WWDC23 中关于隐私部分的更新#xff08;WWDC23 隐私更新官网#xff09;#xff0c;其中提到了第三方 SDK 的…1. 背景 网上搜了很多文章总算有点头绪了。其实隐私清单最后做出来就是一个plist文件。找了几个常用三方已经配好的看了看比着做就好了。 WWDC23 中关于隐私部分的更新WWDC23 隐私更新官网其中提到了第三方 SDK 的隐私清单和签名并且要求开发者自 2024 年春季开始新发布的 app 或者 app 更新中携带的第三方 SDK 需要提供隐私清单如果 SDK 是以二进制形式依赖的话则同时需要提供签名。。 当你准备分发 App 时Xcode 会将 App 使用的所有第三方 SDK 的隐私清单合并为一个简单易用的报告。
这个报告内容全面总结了 App 中的所有第三方 SDK让你能够更轻松地创建更准确的隐私标签。
因此嵌入 App 的 SDK 和三方库都需要包含 PrivacyInfo.xcprivacy 。 二、 下面开始创建 隐私清单 (privacy manifest)的创建
Xcode升级到Xcode15版本及以上新建文件 Cmd N选择 APP Privacy 选项往下滑到Resource选项里privacy文件如下图. privacy文件的源代码如下。在xcode里选择open as —— souce code显示如下。 open as :ASCII Property List如上图 显示为plist格式。这个是腾讯即时通信的清单 open as code如下
?xml version1.0 encodingUTF-8?
!DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd
plist version1.0
dictkeyNSPrivacyTracking/keyfalse/keyNSPrivacyCollectedDataTypes/keyarray/keyNSPrivacyTrackingDomains/keyarray/keyNSPrivacyAccessedAPITypes/keyarraydictkeyNSPrivacyAccessedAPIType/keystringNSPrivacyAccessedAPICategorySystemBootTime/stringkeyNSPrivacyAccessedAPITypeReasons/keyarraystring35F9.1/string/array/dictdictkeyNSPrivacyAccessedAPIType/keystringNSPrivacyAccessedAPICategoryDiskSpace/stringkeyNSPrivacyAccessedAPITypeReasons/keyarraystringE174.1/string/array/dictdictkeyNSPrivacyAccessedAPIType/keystringNSPrivacyAccessedAPICategoryFileTimestamp/stringkeyNSPrivacyAccessedAPITypeReasons/keyarraystringC617.1/string/array/dictdictkeyNSPrivacyAccessedAPIType/keystringNSPrivacyAccessedAPICategoryUserDefaults/stringkeyNSPrivacyAccessedAPITypeReasons/keyarraystringCA92.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 大概涉及
File timestamp APIsSystem boot time APIsDisk space APIsActive keyboard APIsUser defaults APIs
具体列表可查看 Apple 官网说明查看api名称和使用的理由Describing use of required reason API | Apple Developer Documentation
我们根据自己app的情况添加上面示例的代码中 使用的API比如我们可能只用了NSUSerdefaluts 所以只添加这个就行其他的自己根据官网酌量添加api名称和使用原因。
下面咱们看几个第三方的隐私清单是怎么处理的。比如 SDWebImage SD的代码如下
?xml version1.0 encodingUTF-8?
!DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd
plist version1.0
dictkeyNSPrivacyTracking/keyfalse/keyNSPrivacyCollectedDataTypes/keyarray/keyNSPrivacyTrackingDomains/keyarray/keyNSPrivacyAccessedAPITypes/keyarraydictkeyNSPrivacyAccessedAPIType/keystringNSPrivacyAccessedAPICategoryFileTimestamp/stringkeyNSPrivacyAccessedAPITypeReasons/keyarraystringC617.1/string/array/dict/array
/dict
/plist
plist长这样看SD它就加了一个 File Timestamp 使用原因苹果官网的示例图 签名我们不用管。因为如果 SDK 是以二进制形式依赖的话则同时需要提供签名。
参考文章可以看融云和腾讯即时通信的添加步骤即时通信 IM 苹果隐私策略PrivacyInfo.xcprivacy-协议与认证-文档中心-腾讯云
【重要通知】关于 2024 春季 iOS 隐私清单的通知 - iOS - 融云开发者帮助中心