我想用这段代码知道我的ip,但是我得到了2个警告,我现在无法修复。我还发现了这篇文章:Accessing IP Address with NSHost
但我只是想了解为什么这个代码不起作用,如果有人有答案?
这是我的代码:
-(NSString*)getAddress { NSString *iphone_ip = [NSString initWithString:@"127.0.0.1"]; NSHost* myhost =[NSHost currentHost]; if (myhost) { NSString *ad = [myhost address]; if (ad) strcpy(iphone_ip,[ad cStringUsingEncoding: NSISOLatin1StringEncoding]); } return [NSString stringWithFormat:@"%s",iphone_ip]; }
第一个警告是:
NSHost * myhost = [NSHost currentHost]
,说currentHost无法识别。 第二个是
NSString * ad = [myhost address];
“不兼容的obj-c类型初始化'struct NSData ”,预期'struct NString “”
我可以想象,当第一个警告解决后,第二个警告可能会消失......
感谢您的帮助
保
答案 0 :(得分:2)
正如您在此处的文档中所看到的,它已在OS X库中记录。
它实际上是iPhone上的私有API。您仍然可以使用它,但是您会收到编译器警告。
如果您需要找到您的IPAddress,您可以使用此URL使用NSURLRequest和NSURLConnection:WhatIsMyIP API
该页面专门供程序员使用。他们要求你每300秒不超过一次。您可以在此处找到常见问题解答:FAQ