我一直在尝试让Tweetbot在用户点击表行时打开用户帐户。但是,尽管Tweetbot打开了,但没有显示用户帐户。我一直在使用Tweetbot URL Scheme page作为参考。
下面是我的代码:
if (indexPath.row == 1) {
// Removed the actual username
self.destViewURL = @"http://twitter.com/dummyusername";
self.destViewTitle = @"Twitter";
// URLs to try
NSURL *twitterURL = [NSURL URLWithString:@"twitter://user?screen_name= dummyusername"];
NSURL *tweetbotURL = [NSURL URLWithString:@"tweetbot://dummyusername/timeline"];
// Check if Tweetbot is available to open it
if ([[UIApplication sharedApplication] canOpenURL:tweetbotURL]) {
[[UIApplication sharedApplication] openURL:tweetbotURL];
}
else {
// Check if Twitter is available to open it
if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) {
[[UIApplication sharedApplication] openURL:twitterURL];
}
// Otherwise open it in the web view
else {
[self performSegueWithIdentifier:@"showWebView" sender:nil];
}
最佳答案
Tweetbot 3的URL方案页面为here
所有受支持的URL都以tweetbot://<screenname>
开头,这表明您需要知道用户的现有twitter屏幕名称才能链接到配置文件。
但是,我的测试表明,您可以使用相同的tweetbot://<screenname>/user_profile/<profile_screenname>
值直接链接到配置文件
斯威夫特
/* Tweetbot app precedence */
if let tweetbotURL = NSURL(string: "tweetbot://dummyusername/user_profile/dummyusername") {
if UIApplication.sharedApplication().canOpenURL(tweetbotURL) {
UIApplication.sharedApplication().openURL(tweetbotURL)
return
}
}
/* Twitter app fallback */
if let twitterURL = NSURL(string: "twitter:///user?screen_name= dummyusername") {
if UIApplication.sharedApplication().canOpenURL(twitterURL) {
UIApplication.sharedApplication().openURL(twitterURL)
return
}
}
/* Safari fallback */
if let webURL = NSURL(string: "http://www.twitter.com/dummyusername") {
if UIApplication.sharedApplication().canOpenURL(webURL) {
UIApplication.sharedApplication().openURL(webURL)
}
}