Наше приложение собирает данные о частоте пульса из HealthKit на Apple Watch более 2 лет. Однако, начиная с XCode 11, это больше не работает. На самом деле приложение вылетает с ошибкой: «NSHealthUpdateUsageDescription должен быть установлен в Info.plist приложения. Я установил ключи NSHealthUpdateUsageDescription и NSHealthShareUsageDescription в файле info.plist приложения. Я прочитал все сообщения на всех форумах, но мне не повезло, почему приложение вылетает из-за этой ошибки, так как, очевидно, я установил соответствующие ключи. Я читал в нескольких сообщениях, что описание должно быть действительно длинным (очень научным), поэтому я сделал наши описания очень длинными, но безуспешно.
Мы просим разрешения на многие другие права, и все они работают нормально. Фактически, у нас есть пошаговый тест, который отлично работает и на Apple Watch.
Я должен сказать это, мы переместили текст из нашего приложения в локализуемые строки. Это, по-видимому, не имеет значения, потому что iOS продолжает запрашивать разрешение для других прав (использование камеры, FaceID, местоположение и т. Д.).
Мы создали файл InfoPList.strings в отчаянной попытке понять, почему мы продолжаем получать эту ошибку. Мысль о том, что яблоко ищет строку и не может ее найти, поэтому просто выдает общее, почти бесполезное сообщение об ошибке.
<key>NSHealthShareUsageDescription</key>
<string>$(PRODUCT_NAME) would like to capture a snap shot of your heart rate for the purpose of using the data in a clinical research study. Please grant this permission to continue participating.</string>
<key>NSHealthUpdateUsageDescription</key>
<string>$(PRODUCT_NAME) would like to update your health usage with heart rate data. Actually we never do anything of the kind but it seems Apple has lost control of X-Code and has few if any answers, so we will ask this permission.</string>
Вот пары "ключ-значение" в файле InfoPlist.strings (на английском языке):
NSHealthShareUsageDescription = "Это приложение использует HealthKit для получения информации о частоте пульса от пациента для клинического исследования. Ваша частота пульса будет сохранена в вашей защищенной личной записи клинического испытания и будет использоваться для дальнейших медицинских инноваций."; NSHealthUpdateUsageDescription = "Это приложение использует частоту пульса совместно с HealthKit";
Кто-нибудь сталкивался с этой проблемой и сумел ее решить? Следующим шагом будет обращение к Apple, что может оказаться очень сложной задачей, чтобы привлечь их внимание. Заранее спасибо.