如何使用 iOS 上的原生 Twitter 应用打开 Twitter 推文?

Posted

技术标签:

【中文标题】如何使用 iOS 上的原生 Twitter 应用打开 Twitter 推文?【英文标题】:How can I open a Twitter tweet using the native Twitter app on iOS? 【发布时间】:2012-05-12 13:10:10 【问题描述】:

Safari 可以使用这种格式的链接打开推文:

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

ios 5 上,Twitter 是内置的。如何使用从我的应用调用的本机 Twitter 应用打开上述推文?

【问题讨论】:

【参考方案1】:

这是您从自己的应用程序访问其他应用程序的方式。只需找到要发送以访问状态的正确 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://messages

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://"]];

【讨论】:

知道如何搜索哈希标签吗?我试过 NSURL *twitterURL = [NSURL URLWithString:[NSString stringWithFormat:@"twitter://search?q=%@", hashTag]];但没有运气...... 我不知道对不起。你可能做不到。这不是整个 Twitter API,只是应用程序的 URLScheme。他们可能没有内置该功能。 如果检查失败(用户没有安装 Twitter),我会退回到启动相应的配置文件/等。在 Safari 上 在 binpress 上,我有一个 Twitter 智能链接,如果 Twitter 失败,它将在应用程序内的 UIWebView 模式中打开链接。 binpress.com/app/in-app-twitter-smart-link/204 不错的@Hafthor 我会把它添加到帖子中,以防其他人出现。【参考方案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,我正在那里打开链接...

基本上就像你在 iPhone 上没有 Twitter,它会在 WebView 中打开...

【讨论】:

你确定这是为了打开 Twitter..? ;) @moffeltje :感谢您接受这个...Atlast 2.5 年后... ;)【参考方案3】:

如果这个问题已经得到解答,我深表歉意,但发布带有主题标签的消息的架构是:

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

只需将thisisyourhashtag 替换为您希望用户发布的主题标签即可。

【讨论】:

这实际上不是特定于主题标签的架构。任何要发送的消息都应该在 URL 中使用之前进行编码。在编码过程中,任何井号都将变为%23

以上是关于如何使用 iOS 上的原生 Twitter 应用打开 Twitter 推文?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用已安装的 Twitter 应用进行身份验证

如何从 Windows 测试 ios 上的反应原生应用程序?

在 iOS5 中使用 Twitter 框架提示登录警报?

玩家卡的 Twitter 原生应用程序中没有号召性用语

如何使用离线数据 + 同步创建原生 ios 应用

iOS和/或Twitter上的EXIF数据是否已被带有图片的推文剥离?