Atención a todos los desarrolladores, la política de revisión de Apple ha cambiado

Comparte un nuevo conocimiento de iOS aquí todos los días, ven y sígueme

Nuevas reglas para aplicaciones que acceden a datos confidenciales

Apple emitió recientemente un anuncio de noticias sobre Apple Developer, agregando requisitos de revisión para las aplicaciones que necesitan acceder a datos confidenciales del usuario.

La razón de esto es que Apple descubrió que los desarrolladores pueden abusar de una pequeña cantidad de API para recopilar información sobre los dispositivos de los usuarios a través de huellas dactilares de información.

Ya en junio de este año en la WWDC23, Apple anunció que los desarrolladores deben declarar los motivos para usar ciertas API en la lista de privacidad de sus aplicaciones y ahora lanzó oficialmente esta lista de API que deben declararse.

Detalles del nuevo reglamento

A partir del otoño de este año (2023), alrededor de mediados de septiembre , si carga su aplicación en App Store Connect, su aplicación utiliza una API que debe declararse (incluido el SDK de terceros que introdujo), pero no lo hizo. Si no agrega el motivo en el archivo de manifiesto de privacidad, Apple le enviará un correo electrónico de advertencia.

A partir de la primavera de 2024 , alrededor de marzo, las aplicaciones que no indiquen el motivo de su uso en el documento de la lista de verificación de privacidad serán rechazadas para su revisión.

¿Cuáles son las API que necesitan declarar por qué?

1. API relacionadas con NSUserdefaults

Esta API es la más discutida y controvertida, porque casi todas las aplicaciones la usarán, y debido a la protección de sandbox, el espacio de almacenamiento de cada aplicación está aislado. Es realmente ridículo declarar el motivo.

2. Obtenga la API relacionada con la marca de tiempo del archivo

  • fecha de creación

  • fecha de modificación

  • archivoModificationDate

  • contentModificationDateKey

  • clave de fecha de creación

  • getattrlist( : : : : _:)

  • getattrlistbulk( : : : : _:)

  • fgetattrlist(::::_:)

  • stat

  • fstat(::)

  • fstatat(::::)

  • lstat(::)

  • getattrlistat(::::::)

3、获取系统启动时间的 API

大多数衡量 App 启动时间的 APM 库会用到这个 API。

  • systemUptime

  • mach_absolute_time()

4、磁盘空间 API

  • volumeAvailableCapacityKey

  • volumeAvailableCapacityForImportantUsageKey

  • volumeAvailableCapacityForOpportunisticUsageKey

  • volumeTotalCapacityKey

  • systemFreeSize

  • systemSize

  • statfs(::)

  • statvfs(::)

  • fstatfs(::)

  • fstatvfs(::)

  • getattrlist(::::_:)

  • fgetattrlist(::::_:)

  • getattrlistat(::::::)

5、活动键盘 API

这个 API 可以来确定当前用户文本输入的主要语言,有些 App 可能会用来标记用户。

  • activeInputModes

如何在 Xcode 中配置

由于目前 Xcode 15 正式版还没有发布,下边的操作是在 Beta 版本进行的。

在 Xcode 15 中隐私部分全部归类到了一个后缀为 .xcprivacy 的文件中,创建项目时默认没有生成这个文件,我们先来创建一下。

打开项目后,按快捷键 Command + N 新建文件,在面板中搜索 privacy,选择 App Pirvacy 点击下一步创建这个文件。

这个文件是个 plist 格式的面板,默认情况下长这样:

然后点击加号,创建一个 Privacy Accessed API TypesKey,这是一个数组,用来包含所有你 App 使用到需要申明原因的 API。

在这个数组下继续点击加号,创建一个 Item,会看到两个选项:

  • Privacy Accessed API Type:用到的 API 类型

  • Privacy Accessed API Reasons:使用这个 API 的原因(也是个数组,因为可能包含多个原因)

这两个 Key 都创建出来,然后在 Privacy Accessed API Type 一栏点击右侧的菜单,菜单中会列出上边提到的所有 API,选择你需要申报的 API,我这里就拿 UserDefault 来举例:

然后在 Privacy Accessed API Reasons 一览中点击加号,在右侧的选项框中选择对应的原因,每个 API 对应的原因都会列出来,可以到苹果的官方文档上查看这个 API 的原因对应的是哪个,比如 UserDefault 对应的是 CA92.1,我这里就选择这个:

到此,申报原因就完成了,原因不需要自己填写,直接使用苹果给出的选项就可以了,还是蛮简单的。

参考资料

[1]

公告原文: developer.apple.com/news/?id=z6…

[2]

需要在 App 内声明的 API 列表: developer.apple.com/documentati…

[3]

API 列表对应的原因: developer.apple.com/documentati…

点击名片关注我,每天带你学习一个新知识

本文同步自微信公众号 “iOS新知”,每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

Supongo que te gusta

Origin juejin.im/post/7267091810379759676
Recomendado
Clasificación