如何使用 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 推文?的主要内容,如果未能解决你的问题,请参考以下文章