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