2014-02-27 32 views
0

我使用SLComposeViewController發送推文。我擁有Twitter發送推文的所有必要權限,但是,當我呈現它永遠不會顯示的推文表格時。從調試我的代碼,我可以看到SLComposeViewController's完成處理程序自動調用SLComposeViewControllerResultCancelled是結果。iOS - 不顯示工作表 - SLComposeViewControllerResultCancelled自動調用

有沒有人遇到過這個?正如我所說的,我擁有所有必要的權限,並且我的iPhone帳戶和密碼在iPhone設置中正確設置。

編輯

這只是偶爾發生。大多數時候我對Tweet表格沒有任何問題,所以代碼確實有效,但對於某些用戶,他們正在經歷這種情況。

感謝

我在這裏的代碼:

- (void)presentTweetSheet { 

SLComposeViewController *tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 
tweetSheet.completionHandler = ^(SLComposeViewControllerResult result) { 
    switch (result) { 
     case SLComposeViewControllerResultCancelled: 
      SWLog(@"Tweet Cancelled"); 
      break; 
     case SLComposeViewControllerResultDone: 
      SWLog(@"Tweet sent"); 
     break; 
     default: 
      break; 
    } 
}; 

UIWindow *window = [UIApplication sharedApplication].keyWindow; 
ECSlidingViewController *slidingVC = (ECSlidingViewController *)window.rootViewController; 
[slidingVC.topViewController presentViewController:tweetSheet animated:YES completion:^{ 
    SWLog(@"Tweet sheet displayed"); 
    [self removeActivityIndicatorFromCell]; 
}]; 
} 
+0

您可能想重溫一下獲取當前viewController的方法。如果我是你,我完全不會對應用程序的關鍵窗口的當前狀態做出假設。在沒有檢查的情況下對當前的「ECSlidingViewController」進行類型轉換,就會有點「貧民窟」風格;)。 – Till

回答

0

我查了多個應用程序寫在他們相同的代碼,它們的非工作。我試着用代碼對它進行整理,但沒有奏效。所以我重新啓動我的iPhone和它的工作! 希望這會有所幫助