По сути, я пытаюсь запрограммировать кнопку «твитнуть» из моего приложения. В зависимости от места в приложении, они могут нажать кнопку твита, и он отправит их в Safari с сообщением, которое меняется в зависимости от того, где они находятся.
Чтобы создать URL, мне нужно экранировать строку запроса, которую я хочу поместить в объект NSUrl. Итак, я делаю это:
NSString* escapedTweet = [@"Some String With Spaces" stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
После объединения базы мой URL-адрес выходит "http://www.twitter.com/home/?status=Some&20String%20With%20Spaces" - посмотрел его в отладчике, и это определенно значение (как и ожидалось). Теперь я создаю свой URL и запускаю safari:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:escapedUrlString]];
Но вот где возникает проблема: кажется, что OpenUrl ускользает от моих знаков процента, поэтому фактический URL, на который переходит Safari, это "http://www.twitter.com/home/?status=Some%2520String%2520With%2520Spaces",, что, очевидно, является проблемой, поскольку twitter создает сообщение о состоянии как" Some% 20String% 20 С% 20 пробелов ".
NSUrl НЕ позволит мне создать URL с пробелами в нем, поэтому я совершенно заблудился, как заставить мои URL просто включать% 20. Кто-нибудь еще сталкивался с этой проблемой или нашел решение?
Я работаю на iPad с обновленной ОС, но не уверен, что это та же проблема на iPhone.
Редактировать: в двух словах, как заставить openUrl открывать http://www.twitter.com/home/?status=Some%20Url%20With%20Spaces без экранирования моих знаков процента и создания URL вроде http://www.twitter.com/home/?status=Some%2520Url%2520With%2520Spaces?