НСХост "currentHost" не распознан
Я хотел бы использовать этот код, чтобы узнать мой IP, но я получил 2 предупреждения, которые я пока не могу исправить. Я также нашел этот пост: Доступ к IP-адресу с 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 = [адрес моего хоста];
"несовместимые типы obj-c, инициализирующие" struct NSData ", ожидаемые" struct NString""
Я могу представить себе, что второе предупреждение может исчезнуть, когда первое предупреждение будет устранено...
Спасибо за вашу помощь
Павел
1 ответ
Как вы можете видеть из документации здесь, это задокументировано в библиотеке OS X.
Это на самом деле частный API на iPhone. Вы по-прежнему сможете использовать его, но вы получите предупреждения компилятора.
Если вам нужно узнать свой IP-адрес, вы можете использовать NSURLRequest и NSURLConnection, используя этот URL-адрес: WhatIsMyIP API
Эта страница предназначена специально для программистов. Они просят, чтобы вы пинговали его не чаще, чем раз в 300 секунд. Вы можете найти FAQ здесь: FAQ