Как я могу программно управлять «VPN для каждого приложения»?IOS

Программируем под IOS
Ответить
Anonymous
 Как я могу программно управлять «VPN для каждого приложения»?

Сообщение Anonymous »

У меня есть приложение для iOS, содержащее сетевое расширение, являющееся подклассом NEPacketTunnelProvider, действующее как VPN для пакетного туннелирования. После развертывания приложения на устройстве как обычного приложения он запускает следующий фрагмент кода:

Код: Выделить всё

NETunnelProviderManager.loadAllFromPreferences { managers, _ in
self.manager = managers?.first ?? NETunnelProviderManager()
self.manager.protocolConfiguration = getConfiguration()
self.manager.saveToPreferences { error in
// Handle errors or show a "Connect" button in the UI
}
}
Пользователю предлагается установить расширение как «VPN для устройства». Затем я могу использовать self.manager.connection.startVPNTunnel() для запуска VPN. Пока что это работает нормально и соответствует моим ожиданиям.
Теперь я хочу развернуть приложение с помощью MDM и настроить его как «пользовательский VPN» для «для каждого приложения». VPN». После настройки с помощью MDM «VPN для каждого приложения» действительно отображается как VPN в приложении «Настройки» еще до запуска моего приложения.
Однако я невозможно получить, настроить или использовать «VPN для каждого приложения». Приведенный выше фрагмент кода вообще не возвращает NETunnelProviderManager. При создании экземпляра самостоятельно и запуске self.manager.saveToPreferences() он снова запрашивает пользователя установить «VPN для устройства». В результате на устройстве возникают два VPN-подключения: одно работает («VPN для устройства»), а другое — просто для показа и не имеет каких-либо функций («VPN для каждого приложения»).
Как правильно получить и использовать NETunnelProviderManager «VPN для каждого приложения»?


Подробнее здесь: https://stackoverflow.com/questions/793 ... er-app-vpn
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»