iOS 11 中未安装 Twitter 应用程序时使用 Twitterkit 发送推文失败

Tweeting using Twitterkit fails when Twitter app is not installed in iOS 11

我正在关注 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,但这并没有发生。有人有任何线索吗?任何帮助将不胜感激。

谢谢和干杯。

经过多次尝试,终于修好了。修复是一件愚蠢的事情:

在 Twitter 仪表板中转到您的应用程序:https://apps.twitter.com/ > 转到应用程序设置 > 转到回调 URL 并填写任何有效的 url。瞧, 如果未安装 Twitter 应用程序,它将加载 webview。

希望对大家有所帮助。