2016-05-08 9 views
16

У меня есть приложения, построенные в 2015 и 2014 годах. Как проверить их на IPv6?
Если мои приложения не поддерживают IPv6, что мне делать?Как протестировать приложение iOS поддерживает IPv6?

Мои приложения используют AFNetworking и Alamofire. Я подключаюсь в основном к доменам (пример api.example.com/v1/...). Только 1 приложение использует IP: (например: 12.12.12.12:3000/api/v1/...).

Есть ли проблемы для websockets? (WS: //12.12.12.12: 8080/API/....).

+1

Вы протестировали его? См. Раздел [Тестирование для совместимости IPv6 DNS64/NAT64 регулярно] (https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html) из документации Apple. – yaakov

ответ

16

Сложно сказать с уверенностью, не зная больше о вашем приложении. В частности:

  • Вы используете IP-адреса напрямую?
  • Вы разрешаете пользователям вводить их непосредственно в какой-либо форме, кроме как в URL-адресе?
  • Вы делаете сетевые подключения напрямую с помощью API, отличных от API-интерфейсов Apple NSURL?
  • Вы явно занимаетесь поиском DNS по какой-либо причине?

Если ответ на все эти четыре вопроса «нет», то вам не нужно вносить какие-либо изменения в поддержку IPv6.

При использовании IP-адресов напрямую, если пользователь должен иметь возможность вводить эти адреса, вы, вероятно, захотите добавить код, позволяющий пользователю также вводить адреса IPv6 и соответствующим образом разрешать их.

Если ваш код выполняет DNS-разрешение сам по себе, а затем что-то делает с IP-адресами, он должен быть обновлен для обработки IP-адресов и правильной передачи их любому API-интерфейсу, который вы вызываете с IP-адресами.

Жестко закодированные IP-адреса являются проблемой. Вам нужно создать имя хоста для этих IP-адресов. Таким образом, DNS-резольвер устройства может создавать различные магии для создания поддельного IPv6-адреса, который приводит к переводу сетевого адреса на реальный IPv4-адрес каким-либо маршрутизатором.

Насколько я знаю, AFNetworking 3.0 и более поздние должны быть точными, как и в недавних версиях AlamoFire. Убедитесь, что вы обновлены.

+0

Я обновил свой вопрос час назад. Пожалуйста, прочтите его и обновите свой ответ. Спасибо :) –

+0

Я сделал это. – dgatwood

+0

У Apple есть руководство по [как протестировать приложение для IPV6] (https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html) – orkoden