Тестовый полет - разрешение локальной сети, ошибка NSBonjourServices в сборке TestFlight

Для iOS14 мы должны получить разрешение локальной сети от пользователя. Приложение работает нормально, если я запускаю его прямо на устройстве или экспортирую как корпоративное приложение. Если я загружаю то же приложение в Тестовый полет, я получаю следующую ошибку.

App Info.plist (NSBonjourServices) не разрешает _xxx-xxx-config._tcp. для (Lhoapp)

Что это за ошибка? Как это исправить?

В Info.plist я добавил следующие службы, используемые в приложении:

<key>NSBonjourServices</key>
    <array>
        <string>_xxx-xxx-config._tcp</string>
        <string>_iri._tcp</string>
    </array>

Я получаю следующие ошибки в журнале

[NSNetServicesErrorDomain: 10, NSNetServicesErrorCode: -72008]

Я включил разрешение локальной сети в режиме конфиденциальности для приложения


person Vinay Kiran    schedule 08.01.2021    source источник
comment
вы можете поделиться своим info.plist в формате XML?   -  person zeytin    schedule 08.01.2021
comment
@zeytin Я обновил вопрос, указав запрошенное содержимое списка   -  person Vinay Kiran    schedule 08.01.2021
comment
@zeytin, не могли бы вы поделиться какими-либо ресурсами или документами для формата, предоставленного Apple?   -  person Vinay Kiran    schedule 08.01.2021
comment
Я думаю, вы пропустили NSLocalNetworkUsageDescription, а не формат, я ответил ниже, пожалуйста, проверьте   -  person zeytin    schedule 08.01.2021
comment
@zeytin Я уже добавил NSLocalNetworkUsageDescription, но все еще получаю ту же ошибку.   -  person Vinay Kiran    schedule 11.01.2021


Ответы (2)


документ Apple указывает, что для NSLocalNetworkUsageDescription

Любое приложение, прямо или косвенно использующее локальную сеть, должно включать это описание. Сюда входят приложения, использующие Bonjour, и службы, реализованные с помощью Bonjour, а также прямые одноадресные или многоадресные подключения к локальным узлам.

Затем вам нужно добавить NSLocalNetworkUsageDescription И ваш plist должен быть таким, конечно, измените имя вашего приложения и tcp.

<key>NSLocalNetworkUsageDescription</key>
<string>Exchange data with nearby devices running the Yourapp.</string>
<key>NSBonjourServices</key>
<array>
    <string>_yourApp._tcp</string>
</array>
person zeytin    schedule 08.01.2021

Добавление ключей NSLocalNetworkUsageDescription и NSBonjourServices в Infos.plist - правильное решение для меня. Это требуется, начиная с iOS 14, и это позволяет NSNetServices находить службы. Большое спасибо за эту информацию.

person Pistol Felix    schedule 20.07.2021