Xcode隐私协议适配

1. Privacy manifest files

1.1 简介

自己App或三方SDK(通过XCFrameworks|Swift packages|Xcode projects集成的)需要包含一个隐私清单文件(privacy manifest)叫作 PrivacyInfo.xcprivacy它是一个属性列表,记录了App或三方SDK收集数据的类型以及使用收集数据Api的原因,放置在bundle文件里。帮助开发者了解三方SDK中使用的Api以及数据收集的一些信息。

重要:

  • 如果集成的三方SDK在下面的列表中,则需要三方SDK里面包含这样的隐私清单 Upcoming third-party SDK requirements.
  • 如果集成的三方SDK没有在上面的列表中,但是它使用了需要说明使用原因的Api,最好也包含下

1.2 Create a privacy manifest

File > New File->App Privacy,然后选择target,这里的target可以是三方SDK,也可以是自身App的,如果更新三方SDK成本太大,或者最新版本的也没有提供隐私清单,可以通过这个方法,手动给三方SDK添加。每个三方SDK都是单独的,都需要单独添加

默认名字 PrivacyInfo.xcprivacy,不建议更改​​​​​​​

PrivacyInfo.xcprivacy字典里,添加下列的键:

  • NSPrivacyTracking
    • bool值,表示App或者三方SDK是否使用了App Tracking Transparency framework下的数据  User Privacy and Data Use.
  • NSPrivacyTrackingDomains
    • string数组,表示App或者三方SDK在tracking时,链接的域名,如果用户没有统一跟踪的权限,请求这些域名就会失败,并收到一个error如果NSPrivacyTracking=true,则至少需要设置一个NSPrivacyTrackingDomains
  • NSPrivacyCollectedDataTypes
    • ​​​​​​​一个字典数组,表示App或者三方SDK收集的数据类型Describing data use in privacy manifests.
  • NSPrivacyAccessedAPITypes
    • ​​​​​​​一个字典数据,表示App或者三方SDK,访问了哪些需要说明访问原因的api Describing use of required reason API.
    • 只需要在iOS, iPadOS, tvOS, visionOS, watchOS上为App或者三方SDK上提供这个

1.3 Describing data use in privacy manifests

链接:Describing data use in privacy manifests | Apple Developer Documentation

需要注意的点:

  • data type不能自定义key-value, 只能使用列表中列出来的

1.4 Describing use of required reason API

大体上包括以下几类:

  • File timestamp APIs
  • System boot time APIs
  • Disk space APIs
  • User defaults APIs
  • Active keyboard APIs

1.5 需要包含隐私清单和签名的三方SDK

  • Abseil
  • AFNetworking
  • Alamofire
  • AppAuth
  • BoringSSL / openssl_grpc
  • Capacitor
  • Charts
  • connectivity_plus
  • Cordova
  • device_info_plus
  • DKImagePickerController
  • DKPhotoGallery
  • FBAEMKit
  • FBLPromises
  • FBSDKCoreKit
  • FBSDKCoreKit_Basics
  • FBSDKLoginKit
  • FBSDKShareKit
  • file_picker
  • FirebaseABTesting
  • FirebaseAuth
  • FirebaseCore
  • FirebaseCoreDiagnostics
  • FirebaseCoreExtension
  • FirebaseCoreInternal
  • FirebaseCrashlytics
  • FirebaseDynamicLinks
  • FirebaseFirestore
  • FirebaseInstallations
  • FirebaseMessaging
  • FirebaseRemoteConfig
  • Flutter
  • flutter_inappwebview
  • flutter_local_notifications
  • fluttertoast
  • FMDB
  • geolocator_apple
  • GoogleDataTransport
  • GoogleSignIn
  • GoogleToolboxForMac
  • GoogleUtilities
  • grpcpp
  • GTMAppAuth
  • GTMSessionFetcher
  • hermes
  • image_picker_ios
  • IQKeyboardManager
  • IQKeyboardManagerSwift
  • Kingfisher
  • leveldb
  • Lottie
  • MBProgressHUD
  • nanopb
  • OneSignal
  • OneSignalCore
  • OneSignalExtension
  • OneSignalOutcomes
  • OpenSSL
  • OrderedSet
  • package_info
  • package_info_plus
  • path_provider
  • path_provider_ios
  • Promises
  • Protobuf
  • Reachability
  • RealmSwift
  • RxCocoa
  • RxRelay
  • RxSwift
  • SDWebImage
  • share_plus
  • shared_preferences_ios
  • SnapKit
  • sqflite
  • Starscream
  • SVProgressHUD
  • SwiftyGif
  • SwiftyJSON
  • Toast
  • UnityFramework
  • url_launcher
  • url_launcher_ios
  • video_player_avfoundation
  • wakelock
  • webview_flutter_wkwebview
  • 签名: 
  • 或者更准确地说,代码签名(Code Signing),是一种用于确认应用或软件包来源的安全技术,同时确保自签名之后代码未被篡改。代码签名通过使用数字证书和加密技术来实现。这个过程为软件或应用附加了一个数字签名,当用户下载或运行软件时,操作系统或其他软件可以验证这个签名,以确认软件的真实性和完整性。

1.6 总结

  • 三方SDK在上面的列表中,分为两种情况:
    • 以二进制集成(framework),需要包含签名和隐私清单,从目前来看,三方SDK都更新了
    • 以源码集成,只需要包含隐私清单,如果三方SDK最新版SDK里面包含了,拿过来用即可,更不更新SDK都行,如果三方SDK最新版也没有包含,可以不用管
  • 三方SDK不在上面的列表中:
    • 签名和隐私文件有没有都行,最好有
  • 自己的App里面,只需要包含本身App里用到的隐私Api说明

1.7 查看隐私报告

打包的时候,可以提前看,App的privacy 报告,会生成一个PDF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[C++基础学习]----03-程序流程结构之循环结构详解

前言 在C程序中,循环结构在用于重复执行一段代码块,直到满足某个条件为止。循环结构有多种形式,包括while循环、do-while循环和for循环。 正文 01-循环结构简介 1、while循环语句: while循环在每次循环开始前检查条件是否为真&a…

【利兹】XJCO3910/COMP391001 Combinatorial Optimisation组合优化/运筹学 cw考试资料辅导

COMP391001| XJCO3910 (36642) 西交利兹院 Combinatorial Optimisation组合优化/运筹学 资料or辅导 需要请私聊 1.独家近年考试题 包你高分 2. cw and 官方标准答案 3. worksheets and solutions

【docker】安装openjdk

查看可用的 openjdk版本 docker hub 查看地址:https://hub.docker.com/_/openjdk 此图片已被正式弃用,建议所有用户尽快找到并使用合适的替代品。其他官方形象替代品的一些例子(按字母顺序列出,没有有意或暗示的偏好)…

机器学习:深入解析SVM的核心概念(问题与解答篇)【一、间隔与支持向量】

直接阅读原始论文可能有点难和复杂,所以导师直接推荐我阅读周志华的《西瓜书》!!然后仔细阅读其中的第六章:支持向量机 间隔与支持向量 问题一:什么叫法向量?为什么是叫法向量 在这个线性方程中&#xff…

给大一大二师生的忠告,如何在校招中脱颖而出做到降维打击

📢📢📢📣📣📣 哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝 一位上进心十足的【Java ToB端大厂…

[超详细]Java子父类树形结构查询和删除[小白]

目录 前言 1、查询子父类通过树形结构封装起来 一、创建实体类 二、创建mapper类 三、创建service和serviceImpl类 四、创建controller类 2、删除该父类下的所有子类,并且删除自己 controller层 service和serviceImpl层 总结 前言 [超详细]Java子父类树形…

STM32与Proteus的串口仿真详细教程与源程序

资料下载地址:STM32与Proteus的串口仿真详细教程与源程序 资料内容 包含LCD1602显示,串口发送接收,完美实现。 文档内容齐全,包含使用说明,相关驱动等。 解决了STM32的Proteus串口收发问题。 注意:每输…

Datart 扩装下载功能之PDF和图片下载

Datart 扩装下载功能之PDF和图片下载 首先下载依赖 yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts -y 然后下载安装chrome yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 查看chrome版本号 google…

基于Vue3实现的 宫格 图片摆放

一个可以支持无限宫格的 vue3实现 本来要参考微信群头像的规则实现&#xff0c;网上找到一大堆类似的需求&#xff0c;奈何XXX折磨人&#xff0c;九宫格已经不能满足ta了。 当前代码实现了………… 好多东西(可以多宫格).具体的看效果图 code <style scoped langless> .…

AI预测体彩排列3第2套算法实战化测试第5弹2024年4月27日第5次测试

今天继续进行新算法的测试&#xff0c;今天是第5次测试。好了&#xff0c;废话不多说了&#xff0c;直接上图上结果。 2024年4月27日体彩排3预测结果 6码定位方案如下&#xff1a; 百位&#xff1a;6、2、1、7、8、9 十位&#xff1a;8、9、4、3、1、0 个位&#xff1a;3、7、8…

【SpringBoot整合系列】SpringBoot整合Redis[附redis工具类源码]

目录 SpringBoot整合Redis1.下载和安装Redis2.新建工程&#xff0c;导入依赖3.添加配置4.先来几个基本的示例测试代码输出结果用redis客户端查看一下存储内容 5.封装redis工具类RedisKeyUtilRedisStringUtilRedisHashUtilRedisListUtilRedisSetUtilRedisZsetUtil备注 6.测试通用…

node.js 解析post请求 方法二

前提&#xff1a;以前面发的node.js解析post请求方法一为模板&#xff0c;具体见 http://t.csdnimg.cn/ABaIn 此文我们运用第二种方法&#xff1a;使用第三方模块formidable对post请求进行解析。 1》代码难点 *** 在Node.js中使用formidable模块来解析POST请求主要涉及到处理…

IO流基础

IO流介绍 1.什么是IO流&#xff1f; 流是一种抽象概念&#xff0c;它代表了数据的无结构化传递。按照流的方式进行输入输出&#xff0c;数据被当成无结构的字节序列或字符序列。从流中取得数据的操作称为提取操作&#xff0c;而向流中添加数据的操作称为插入操作。用来进行输入…

JVM (Micrometer)监控SpringBoot(AWS EKS版)

问题 怎样使用JVM (Micrometer)面板&#xff0c;监控Spring&#xff1f;这里不涉及Prometheus和Grafana&#xff0c;重点介绍与Micrometer与Springboot&#xff0c;k8s怎样集成。 pom.xml 引入依赖&#xff0c;如下&#xff1a; <properties><micrometer.version&…

免费简单好用的内网穿透工具(ngrok、natapp),微信回调地址配置

B站视频地址 文章目录 Natapp1、登录注册账号、下载软件2、使用2-1、购买隧道、查看token2-2、端口穿透 Ngrok1、登录注册账号、下载软件2、使用2-1、获取并设置 token2-2、使用 3、隧道 微信回调配置1、注册测试公众号2、回调代码3、回调配置 在一些特殊的场景下&#xff0c;需…

多种方法求1+12+123+1234……

有网友出了一道题&#xff1a; 从键盘输入一个小于10的正整数n&#xff0c;计算1121231234……&#xff0c;即前n项之和。 第一眼看到题目&#xff0c;直觉告诉我必须使用嵌套的两个for循环&#xff0c;里面的循环生成每一项&#xff0c;外面的循环求和。错误的方向和思路让我…

基于RBF-PID控制器的风力发电系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于RBF-PID控制器的风力发电系统simulink建模与仿真,对比PID控制器和RBF-PID控制器的控制结果。 2.系统仿真结果 3.核心程序与模型 版本&#xff1a;MATLAB2022a 0050 4.系…

Unity进阶之ScriptableObject

目录 ScriptableObject 概述ScriptableObject数据文件的创建数据文件的使用非持久数据让其真正意义上的持久ScriptableObject的应用配置数据复用数据数据带来的多态行为单例模式化的获取数据 ScriptableObject 概述 ScriptableObject是什么 ScriptableObject是Unity提供的一个…

有没有电脑桌面监控软件|十大电脑屏幕监控软件超全盘点!

电脑桌面监控软件已经成为许多领域不可或缺的工具。 无论是企业为了保障数据安全和提高工作效率&#xff0c;还是家长为了监督孩子的学习&#xff0c;甚至是个人为了记录电脑使用行为&#xff0c;都需要这类软件的支持。 本文将对市面上十大电脑屏幕监控软件进行超全盘点&…

智能文案生成器,文案生成改写很强大

在当今数字化时代&#xff0c;随着人工智能的迅猛发展&#xff0c;智能文案生成器正逐渐成为营销和创作领域的一大利器。这些智能工具不仅能够快速生成文案&#xff0c;还能够进行文案改写&#xff0c;使得文案生成的过程更加高效、便捷。正是在这样的背景下&#xff0c;智能文…