Как мне запросить текущий IP-адрес iPhone?





Вы можете попробовать воспользоваться аналогичным сервисом: Whatismyip и захватить строку :)
Предоставлено Эрике Садун Cookbok для разработчиков iPhone, 2-е изд., Стр. 555.
Если вам нужен IP-адрес внешний (тот, который используется для подключения извне локальной сети), вам необходимо запросить сервер во внешней сети. Быстрый поиск дал следующее: http://checkip.dyndns.org, http://www.whatismyip.com. Загрузить страницу довольно просто, например,
[NSData dataWithContentsOfURL:url]
и выполните некоторые операции со строкой, чтобы получить IP-адрес.
Если вам нужен IP-адрес внутренний (тот, который назначен, например, DHCP вашему устройству), вы обычно можете разрешить имя хоста устройства, т.е.
/*
Returns the local IP, or NULL on failure.
*/
const char* GetLocalIP() {
char buf[256];
if (gethostname(buf,sizeof(buf)))
return NULL;
struct hostent* he = gethostbyname(buf);
if (!he)
return NULL;
for(int i=0; he->h_addr_list[i]; i++) {
char* ip = inet_ntoa(*(struct in_addr*)he->h_addr_list[i]);
if (ip != (char*)-1) return ip;
}
return NULL;
}
Извините за старую ветку, но есть ли шанс, что кто-то может помочь мне преобразовать это в Swift?
иногда мои пользователи получают ноль, вы знаете, в чем причина?