Xcode openURL не читает ссылку - PullRequest
       33

Xcode openURL не читает ссылку

0 голосов
/ 19 февраля 2012

У меня есть список животных и специальная кнопка. Когда я нажимаю кнопку, я бы хотел зайти в Википедию и узнать больше об этом животном. Поэтому я написал этот код:

-(IBAction)goWiki:(id)sender
{
    NSString *wikiUrl = "http://ru.wikipedia.org/wiki/";
    NSString *url = [NSString stringWithFormat:@"%@%@",wikiUrl,animalTitle];  
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:url]];
    NSLog(@"%@",url);
}

NSLog показывает, что URL был написан правильно, однако ничего не произошло. Я на 99,9% уверен, что это из-за animalTitle. Мой родной язык русский, и animalTitle также является именем животного на русском языке. Так что, если ссылка похожа на http://ru.wikipedia.org/wiki/Frog, это нормально, и она работает, но если это как http://ru.wikipedia.org/wiki/Лягушка ничего не происходит. Есть идеи, как мне перейти на русскую статью? Спасибо!

Ответы [ 2 ]

3 голосов
/ 19 февраля 2012

используйте stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding следующим образом -

-(IBAction)goWiki:(id)sender
{
    NSString *wikiUrl = @"http://ru.wikipedia.org/wiki/";
    NSString *url = [NSString stringWithFormat:@"%@%@",wikiUrl,animalTitle];  


    url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:url]];
    NSLog(@"%@",url);
}
1 голос
/ 19 февраля 2012

Попробуйте сначала передать строку animalTitle через CFURLCreateStringByAddingPercentEscapes.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...