web-dev-qa-db-ja.com

iOSのネイティブTwitterアプリを使用してTwitterツイートを開くにはどうすればよいですか?

Safariは、この形式のリンクを使用してツイートを開くことができます。

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

IOS 5には、Twitterが組み込まれています。アプリから呼び出されたネイティブTwitterアプリを使用して上記のツイートを開くにはどうすればよいですか?

61
vietstone

これは、自分のアプリから他のアプリにアクセスする方法です。ステータスにアクセスするために送信する適切なURLを見つけます。重要なリストのほとんどを含むリストを含めました。ステータス検索を含む。

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

Twitter:// user?screen_name = lorenb

Twitter:// user?id = 12345

Twitter:// status?id = 12345

Twitter://タイムライン

Twitter://メンション

Twitter://メッセージ

Twitter:// list?screen_name = lorenb&slug = abcd

Twitter:// post?message = hello%20world

Twitter:// post?message = hello%20world&in_reply_to_status_id = 12345

Twitter:// search?query =%23hashtag

注:ユーザーにTwitterがインストールされていることを確認することが重要です。そうしないと、クラッシュが発生します。そのため、Twitterに送信する前にifステートメントに追加することをお勧めします。

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"Twitter://"]];
164
Ryan Poolos

私は以下のアプローチで行くでしょう...

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にウェブビューがあり、そこにリンクを開いています...

基本的に、iPhoneにTwitterがない場合は、WebViewで開きます...

1
Fahim Parkar