2014-11-14 2 views
0

Я пытаюсь получить Tweetbot, чтобы открыть учетную запись пользователя, когда пользователь использует таблицу. Однако, хотя функция Tweetbot открывается, она не отображает учетную запись пользователя. Я использовал Tweetbot URL Scheme page в качестве ссылки.Tweetbot URL-схема, не открывающая пользователя

Ниже мой код:

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]; 
      } 

ответ

3

Страница схемы URL для Tweetbot 3 является here

Все поддерживаемые URL-адреса начинаются с tweetbot://<screenname>, что говорит о том, что вам нужно знать существующий экран твиттер пользователя имя для ссылки на профиль.

Однако мое тестирование показало, что можно связать непосредственно с профилем, используя то же значение для 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) 
     } 
    } 
Смежные вопросы