2016-05-21 2 views
0

Я сделал контроллер домашней автоматизации, который встроил веб-сервер внутри, чтобы позволить пользователям управлять своим оборудованием через веб-интерфейс и API. Я также делал приложение Apple Watch, так как OS1 в основном извлекает идентификатор пользователя и пароль с iPhone, а затем загружает plist с контроллера и отображает информацию. Я полагаюсь на NSURLSession, чтобы получить plist через LAN к контроллеру, однако, поскольку Watch OS2 NSURLSession разрешает только https-соединение, которое мой домашний контроллер автоматизации не может предоставить. В этом случае любой альтернативный способ позволить Apple Watch получить планшет от контроллера?Часы OS2 и NSURLSession

Спасибо!

ответ

0

Как и iOS 9, watchOS 2 использует приложение Transport Security для обеспечения безопасности соединений.

Начиная с iOS 9.0 и OS X v10.11, новая функция безопасности, называемая App Transport Security (ATS), доступна для приложений и включена по умолчанию. Это улучшает конфиденциальность и целостность данных соединений между приложением и веб-службами, обеспечивая дополнительные требования безопасности для сетевых запросов на основе HTTP. В частности, при включенной ATS соединения HTTP должны использовать HTTPS (RFC 2818). Попытки подключения с использованием небезопасного HTTP не выполняются.

Поскольку веб-сервер находится под вашим контролем, правильным подходом было бы обеспечить безопасные HTTPS-соединения на вашем сервере.

Если вы не можете или не включите это, вы можете обойти защиту, которую обеспечивает iOS/watchOS, добавив соответствующие ключи NSAppTransportSecurity к вашему (расширению watchKit) Info.plist.

Это позволит установить небезопасное соединение с часами на ваш сервер.

Смежные вопросы