在隐私清单文件中所需原因 API 的文档中,Apple 指定我应该指出我的第三方 SDK 是否使用
UserDefaults
:
C56D.1 如果您的第三方 SDK 围绕用户默认 API 提供包装函数供应用程序使用,并且您仅在应用程序调用您的包装函数时访问用户默认 API,请声明此原因。此原因只能由第三方 SDK 声明。如果您的第三方 SDK 主要是为了包装所需的原因 API 而创建的,则可能不会声明此原因。 出于此原因访问的信息或任何派生信息不得用于您的第三方 SDK 自己的目的,也不得由您的第三方 SDK 发送到设备外。
让我澄清一下:如果我的 SDK 从应用程序的 UserDefaults 参数读取和写入(标准读取和写入),我是否应该声明这个原因?如果我只读取 SDK 相关数据并将其写入应用程序的 UserDefaults 会怎样?最后,如果我在 UserDefaults 中读写 SDK 的套件,是否需要声明它?
正如您在文档中所述,了解您的应用程序的用例非常重要。
我们看一下文档中写的内容,然后自己回答下面提出的问题。如果所有答案都是肯定的,那么您需要在您的隐私清单中声明这一点。
如果您的第三方 SDK 提供围绕用户默认 API 的包装函数以供应用程序使用
您的应用程序使用的 SDK 是您开发的并提供用于 UserDefaults 访问的 API 吗?
当应用程序调用您的包装函数时,您只能访问用户默认的 API。
这是您的用例吗?
如果您的第三方 SDK 主要是为了包装所需的原因 API 而创建的,则可能不会声明此原因。
请认真思考这是否是您的用例
因此访问的信息或任何派生信息不得用于您的第三方 SDK 自己的目的或由您的第三方 SDK 发送到设备外。
查看您的问题:
如果我的 SDK 从应用程序的 UserDefaults 参数读取和写入(标准读取和写入),我是否应该声明此原因?
您的 SDK 是否提供了可供应用程序使用的包装器?
如果我只读写 SDK 相关数据到应用程序的 UserDefaults 会怎样?
您的 SDK 如何处理这些数据?查看上述问题,看看用例是否相似
最后,如果我在UserDefaults中读写SDK的套件,是否需要声明它?
再说一遍,您的 SDK 如何处理这些数据?查看上述问题,看看用例是否相似