Комментарии 10
Виталий, спасибо за статью.
Не нашел в доках ответы (может, плохо искал) на возникшие вопросы, может ты знаешь или сталкивался?
1) Если либа не собирает никакие privacy и не использует api нужен ли ей пустой файл xcprivacy?
2) Что делать, если в приложении фичи лежат в local pods и соответственно линкуются как фреймворки. И в итоге они хоть и являются частью кода и даже репозитория, но лежат отдельно от основного таргета. Следует ли для них отдельно добавлять свои xcprivacy файлы или достаточно одного общего для всего приложения?
Спасибо за отзыв!
В документации сказано, что файлы должны быть в библиотеках, которые используют определённые API. Соответственно, если API не используются - файл не нужен.
При сборке проекта файлы из библиотек собираются в один общий файл. Таким образом не важно, где лежат файлы.
Если приложение уже в сторе, надёжнее всего ориентироваться на письмо Apple. Ещё могу добавить, что файл обязательно нужен, если используются библиотеки, перечисленные здесь. Ну, и, дополнительно, можно прогнать свой проект скриптом, на который я ссылался в статье. Он подсветит классы, которые используют api, попадащие под privacy.
Чуть больше недели назад писал статью на эту тему: https://telegra.ph/59-Nastraivaem-PrivacyInfoxcprivacy-03-23.
Думал, такой контент на хабре не пройдет модерацию
Спасибо за публикацию!
А можно больше подробностей по пункту "Для начала обновим библиотеки"?
1. Зачем это нужно?
2. Что будет, если это не сделать?
3. А что на счет зависимостей, у которых поменялась Major версия? Просто так их обновить не получается - нужно переписывать проект, заново тестировать и т.д.
4. В пункте "Создание файла" не указали, что обязательно нужно выбрать Target при создании файла. Я это не сделал при создании, и по итогу приходило тоже самое письмо. Хотя в самом Xcode у файла был выставлен Target Membership. Но этого оказалось недостаточно. Пришлось удалить PrivacyInfo.xcprivacy и создать по новой.
В новых версиях библиотек разработчики добавляют файлы PrivacyInfo.xcprivacy. Таким образом вам в своём файле не нужно указывать причину использования API
Если версия библиотеки не будет содержать файл PrivacyInfo.xcprivacy, вам прилётся самостоятельно указать причину использования API в файле PrivacyInfo.xcprivacy в своём проекте
Если укажете всю информацию в своём PrivacyInfo.xcprivacy, то можно не обновлять
Да, всё так. Спасибо за замечание! Дополню статью.
Почему вы пишите "До 1 мая 2024 года все приложения должны быть обновлены и должны содержать файл PrivacyInfo.xcprivacy с корректно заполненной информацией о конфиденциальности."?
С 1 мая apple перестанет принимать приложения без заполненного PrivacyInfo.xcprivacy, но они всё так же останутся доступны в apple store.
Было бы хорошо если бы вы перевели "коды деклараций", так как описание от apple на англ. абсолютно непонятно.
Как исправить ITMS-91053: Missing API declaration