НСХост "currentHost" не распознан - PullRequest
1 голос
/ 30 июня 2011

Я хотел бы использовать этот код, чтобы узнать мой 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 Ответ

2 голосов
/ 30 июня 2011

Как вы можете видеть из документации здесь, она документирована в библиотеке OS X.

NSHost

Это на самом деле частный API на iPhone. Вы по-прежнему сможете использовать его, но получите предупреждения компилятора.

Если вам нужно узнать свой IP-адрес, вы можете использовать NSURLRequest и NSURLConnection, используя этот URL: WhatIsMyIP API

Эта страница предназначена специально для программистов. Они просят, чтобы вы пинговали его не чаще, чем раз в 300 секунд. Вы можете найти FAQ здесь: FAQ

...