Ошибка открытия URL в Safari - PullRequest
3 голосов
/ 30 декабря 2010

Я создал свое приложение. Мне нужно открыть URL в iPhone, просмотреть сафари напрямую.

Мой код выглядит следующим образом:

        NSString *email = [NSString stringWithFormat:@"http://itunes.apple.com/us/album/music/id186152317?i=186153149&uo=4"];
         email = [email stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
         NSURL *url = [NSURL URLWithString:email];
         if (![[UIApplication sharedApplication] openURL:url])
         NSLog(@"%@%@",@"Failed to open url:",[url description]);
         [super viewDidLoad];

Но моя проблема в том, что представление Safari открыто. Но URL не открывается. Это показывает ошибку. Ошибка

Невозможно открыть страницу. Сафари не может открыть страницу, потому что адрес неверен

Но URL открывается в браузере.

Кто-нибудь знает решение, чтобы открыть этот URL в Safari в iPhone с помощью Objective C?

Ответы [ 5 ]

1 голос
/ 30 декабря 2010

Вы можете использовать http://itunes.apple.com/linkmaker/, чтобы получить точную ссылку. Надеюсь, это поможет

0 голосов
/ 30 декабря 2010

Ваша проблема заключается в том, что вам не нужно, чтобы URL кодировал весь URL. Вы должны только кодировать ключи и значения каждой пары в строке запроса. Другими словами, URL кодируется: i, 186153149, uo и 4. Ничего больше. (И технически вам даже не нужно кодировать их, потому что все они находятся в наборе буквенно-цифровых символов ASCII, которые не нужно кодировать)

0 голосов
/ 30 декабря 2010

Также убедитесь, что после кодирования ваша ссылка

http://itunes.apple.com/us/album/music/id186152317?i=186153149&uo=4

изменяется на

http://itunes.apple.com/us/album/music/id186152317?i=186153149&ign-mpt=uo%3D4

СЧАСТЛИВОЕ ИКОДИРОВАНИЕ ...

0 голосов
/ 30 декабря 2010

Странно, потому что Safari на Mac не жалуется ...

Но если вы замените свой URL-адрес на http://itunes.apple.com/us/album/music/id186152317, он, похоже, будет работать и на iPhone.

0 голосов
/ 30 декабря 2010

Измените кодировку на "NSUTF8StringEncoding"

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