Поскольку Apple запрашивает приложение, представленное для проверки, должно поддерживать сеть только с IPv6, начиная с 1 июня 2016 года, я проверяю, нужно ли мне заменять определенные API/библиотеки в моем приложении. Однако я недостаточно разбираюсь в сетевом взаимодействии и некоторых связанных аспектах, в результате я не могу дать однозначный ответ на этот вопрос и хотел бы обратиться за помощью.
Что касается документа Поддержка IPv6 DNS64/NAT64 Networks, предоставляемого Apple, в нем говорится, что приложения должны быть в порядке и не нужно выполнять обновление, если:
вы пишете приложение на стороне клиента, используя высокоуровневые сетевые интерфейсы, такие как как NSURLSession и рамки CFNetwork, а вы подключаетесь по имени
Под этим я принимаю это как 2 критерия:
- с использованием NSURLSession или CFNetwork
- подключиться по имени
Итак, вопрос здесь:
-
Насколько я знаю, NSURLConnection основан на CFNetwork, означает ли это, что я тоже буду в порядке, если мое приложение использует NSURLConnection? (Я видел, что NSURLConnection упоминается в этом изображении в приведенном выше документе, но опять же я не совсем уверен в этом, поскольку NSURLConnection - это нечто вроде старого? И, похоже, я не могу найти документы, в которых упоминаются поддержка IPv4 и IPv6.)
-
По критерию "вызов по имени", означает ли это, что независимо от того, использую NSURLSession или NSURLConnection, если я случайно позвоню или получаю доступ к определенным ресурсам /API по адресу IPv4, будут происходить плохие вещи? (Я провел некоторое исследование, и, по моему мнению, клиенты, такие как iOS-устройство с iOS 9+, всегда будут использовать синтезированный IPv6-адрес для доступа к серверу IPv4, в результате чего клиент не сможет связаться с ресурсом, если я вызову по адресу IPv4?)
Спасибо за любую помощь!