2012-05-03 3 views
52

твит можно открыть Safari со ссылкой этого формата:Как я могу открыть твиттер Twitter, используя собственное приложение для Twitter на iOS?

http://twitter.com/1Direction_X/statuses/197752514391715842 

КСНЫ 5, Twitter встроен. Как я могу открыть вышеуказанный твит, используя собственное приложение Twitter из моего приложения?

ответ

147

Так вы можете получить доступ к другим приложениям самостоятельно. Просто найдите правильный URL-адрес для отправки статуса доступа. Я включил список, который должен иметь большинство важных. Включая поиск статуса.

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"twitter://status?id=12345"]]; 

твиттер: // пользователь screen_name = lorenb

твиттер: // идентификатор пользователя = 12345

твиттер: // Статус ID = 12345

твиттер: // временная шкала

твиттер: // упоминается

твиттер: // Сообщения

твиттер: // Список screen_name = lorenb & пули = ABCD

твиттер: // запись сообщение = привет% 20world

твиттер: // запись сообщение = привет % 20world & in_reply_to_status_id = 12345

твиттер: // поиск запроса =% 23hashtag

Примечание: Может быть важно убедиться, что пользователь установил твиттер, или это приведет к сбою. Поэтому я рекомендую добавить это в оператор if, прежде чем пытаться отправить их в twitter.

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"twitter://"]]; 
+1

Любая идея, как вы можете искать хэш-тег ?? Я пробовал NSURL * twitterURL = [NSURL URLWithString: [NSString stringWithFormat: @ "twitter: // search? Q =% @", hashTag]]; но не повезло ... – Smikey

+0

Не знаю, извините. Возможно, вы не сможете. Это не весь API Twitter только URLScheme для приложения. Возможно, они не построили эту функцию. –

+2

Если проверка не удалась (у пользователя нет установленного Twitterа), я бы вернулся к запуску соответствующего профиля/и т. Д.на Safari –

2

Я бы с ниже подход ...

NSURL *twitterURL = [NSURL URLWithString:@"fb://profile/<profile_id>"]; 
if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) { 
    [[UIApplication sharedApplication] openURL:twitterURL]; 
} else { 
    WebViewViewController *secondView = [self.storyboard instantiateViewControllerWithIdentifier:@"webinterface"]; 

    secondView.headerLabel = @"Facebook"; 
    secondView.webPath = @"https://www.facebook.com/pages/<link_for_page>"; 

    [self.navigationController pushViewController:secondView animated:YES]; 
} 

WebViewViewController в меня WebView и я открываю ссылку там ...

в основном его, как если у вас нет Twitter на iPhone, он откроется в WebView ...

+3

Вы уверены, что это для открытия Twitter ..? ;) – moffeltje

+0

@moffeltje: Спасибо, что поймали это ... Atlast через 2,5 года ...;) –

-1

Приносим извинения, если это уже было дан ответ, но схема отправки сообщения с хэштегом:

twitter://post?message=hello%20world%23thisisyourhashtag. 

Просто замените thisisyourhashtag на хэштег, который вы хотите, чтобы пользователи отправляли сообщения.

+0

Это не схема, специфичная для хэштегов. Любое отправляемое сообщение должно быть закодировано перед его использованием в URL-адресе. Во время кодирования любые хеш-знаки станут '% 23'. –

Смежные вопросы