当用户点击表格行时,我一直试图让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];
}
答案 0 :(得分:6)
Tweetbot 3的网址方案页面为here
所有受支持的网址都以tweetbot://<screenname>
开头,这表示您需要知道用户现有的Twitter屏幕名称才能链接到个人资料。
但是,我的测试表明,您可以使用tweetbot://<screenname>/user_profile/<profile_screenname>
Swift例如
/* 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)
}
}