Я хочу найти 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 или большей версии ОС?
Заранее спасибо.
Насколько я знаю, есть только один хакерский способ сделать это. В основном вы открываете сокет и получаете его адрес с помощью функций POSIX. Вот код, который я использовал для этого:
http://iphonesdksnippets.com/post/2009/09/07/Get-IP-address-of-iPhone.aspx
[NSHost currentHost]
тоже будет работать, но он устарел и считается "Private API" от Apple, поэтому вы не сможете отправить свое приложение в App Store.
Получение IP-адреса - это немного хакерский процесс.Вы уверены, что не можете жить с идентификатором устройства (UDID), который уникален для каждого iPhone и может быть легко получен через общедоступный API?
[UIDevice currentDevice] .uniqueIdentifier