Найдите IP-адрес в iPhone

Я хочу найти IP-адрес в приложении. Я могу найти его. Но, проблема, она работает пластины в iPhone OS 2.0 или около этого. Но, в iPhone OS 3.0 это дает мне предупреждение:

warning: no '+currentHost' method found

warning: (Messages without a matching method signature)

Я использую этот код, и он хорошо работает с версией ОС 2.0.

-(NSString*)getAddress {
char iphone_ip[255];
strcpy(iphone_ip,"127.0.0.1"); // if everything fails
NSHost* myhost = [NSHost currentHost];
if (myhost)
{
    NSString *ad = [myhost address];
    if (ad)
        strcpy(iphone_ip,[ad cStringUsingEncoding: NSISOLatin1StringEncoding]);
}
return [NSString stringWithFormat:@"%s",iphone_ip]; 

}

Как найти IP-адрес в iPhone OS 3.0 или большей версии ОС?

Заранее спасибо.

8
задан Anthony 2 March 2010 в 06:58
поделиться

2 ответа

Насколько я знаю, есть только один хакерский способ сделать это. В основном вы открываете сокет и получаете его адрес с помощью функций POSIX. Вот код, который я использовал для этого:

http://iphonesdksnippets.com/post/2009/09/07/Get-IP-address-of-iPhone.aspx

[NSHost currentHost] тоже будет работать, но он устарел и считается "Private API" от Apple, поэтому вы не сможете отправить свое приложение в App Store.

4
ответ дан 5 December 2019 в 08:23
поделиться

Получение IP-адреса - это немного хакерский процесс.Вы уверены, что не можете жить с идентификатором устройства (UDID), который уникален для каждого iPhone и может быть легко получен через общедоступный API?

[UIDevice currentDevice] .uniqueIdentifier

1
ответ дан 5 December 2019 в 08:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: