在iOS 11中未安装Twitter应用程序时,使用Twitterkit进行推文失败

时间:2018-01-10 12:51:04

标签: ios objective-c twitterkit twitter-share

我正在关注twitter的文档,下面是他们用于检查登录用户会话和使用TWTRComposer发推文的示例代码。

// Check if current session has users logged in
if ([[Twitter sharedInstance].sessionStore hasLoggedInUsers]) {
    TWTRComposerViewController *composer = [TWTRComposerViewController emptyComposer];
    [fromController presentViewController:composer animated:YES completion:nil];
} else {
    [[Twitter sharedInstance] logInWithCompletion:^(TWTRSession *session, NSError *error) {
        if (session) {
            TWTRComposerViewController *composer = [TWTRComposerViewController emptyComposer];
            [fromController presentViewController:composer animated:YES completion:nil];
        } else {
            UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"No Twitter Accounts Available" message:@"You must log in before presenting a composer." preferredStyle:UIAlertControllerStyleAlert];
            [self presentViewController:alert animated:YES completion:nil];
        }
    }];
}

现在,对于未安装Twitter应用程序的情况,流程将转到下面给出的else部分:

else {
    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"No Twitter Accounts Available" message:@"You must log in before presenting a composer." preferredStyle:UIAlertControllerStyleAlert];
    [self presentViewController:alert animated:YES completion:nil];
}

Twitterkit应该在这里打开webview以询问Twitter登录,这是没有发生的。有人有任何线索吗?任何帮助将不胜感激。

谢谢&欢呼声。

1 个答案:

答案 0 :(得分:1)

经过大量试验后得到了修复。修复是一件非常愚蠢的事情:

在Twitter信息中心转到您的应用:https://apps.twitter.com/>转到应用设置>转到回拨网址并填写任何有效的网址。瞧, 如果未安装Twitter应用程序,它将加载webview。

希望它有所帮助。