сегодня мне удалось столкнуться с очень странной ошибкой, связанной с ключами Info.plist в приложении, которое использует расширения WatchKit / WatchKit.Здесь речь идет о NSHealthUpdateUsageDescription
.Это необходимо вместе с кратким описанием, когда отслеживаются какие-либо данные, относящиеся к HealthKit , предоставленному Apple.
Сложная деталь здесь, когда "Архивация" сборки указанного приложения находится в процессе подготовки.для представления.XCode говорит: «По отсутствующей причине необходим пропавший ключ NSHealthUpdateUsageDescription
.
Когда сборка приложения попадает на страницу AppStore Connect, его указание тоже из-за идентификатора пакета, процесс затем исчезает иApple получит сообщение об ошибке, в котором будет сказано:
Уважаемый разработчик,
Мы обнаружили одну или несколько проблем с недавней доставкой для вашего приложения: «AirTime - Считайте свои прыжки!»Исправьте следующие проблемы и загрузите снова.
Отсутствует строка назначения в файле Info.plist - код вашего приложения ссылается на один или несколько API-интерфейсов, которые обращаются к конфиденциальным данным пользователя. Файл Info.plist приложения должен содержать NSHealthUpdateUsageDescriptionключ с пользовательской строкой назначения, ясно и полностью объясняющей, почему вашему приложению нужны данные.Начиная с весны 2019 года все приложения, представленные в App Store и имеющие доступ к данным пользователя, должны будут включать строку назначения. Если вы используете внешние библиотекиили SDK, они могут ссылаться на API, которые требуют пурСтрока ose.Хотя ваше приложение может не использовать эти API, строка назначения по-прежнему требуется.Вы можете связаться с разработчиком библиотеки или SDK и попросить, чтобы они выпустили версию своего кода, которая не содержит API.Узнать больше (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy).
С наилучшими пожеланиями,
Команда App Store
Поиск SO, я не нашел ни одного поста, связанного с ключом info.plistпроблемы вне вещей, связанных с CFBundleIcons и т. д. Это не дубликат, я чувствую, как будто это вопрос, который будет полезен для будущих разработчиков при ответе.
Спасибо