首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能用Twitter 3撰写tweet

不能用Twitter 3撰写tweet
EN

Stack Overflow用户
提问于 2017-09-07 10:44:16
回答 1查看 987关注 0票数 1

我遵循https://dev.twitter.com/twitterkit/ios/compose-tweets的指令,通过对象C应用程序为iOS 11编写tweet

代码语言:javascript
复制
// Objective-C
TWTRComposer *composer = [[TWTRComposer alloc] init];

[composer setText:@"just setting up my Twitter Kit"];
[composer setImage:[UIImage imageNamed:@"twitterkit"]];

// Called from a UIViewController
[composer showFromViewController:self completion:^(TWTRComposerResult result) {
    if (result == TWTRComposerResultCancelled) {
        NSLog(@"Tweet composition cancelled");
    }
    else {
        NSLog(@"Sending Tweet!");
    }
}];

然而,点击“连接你的帐户”屏幕上的“连接”按钮后,它在没有写推特的情况下返回了应用程序(Twitter已经登录)。看来showFromViewController没有跑。有人也有同样的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2017-09-29 16:28:35

首先,在Twitter上为您的应用程序获取读写权限

代码语言:javascript
复制
    if ([[Twitter sharedInstance].sessionStore hasLoggedInUsers]) {
  NSString *twitterLoggedInInfo = [[NSUserDefaults standardUserDefaults] objectForKey:@"TwitterLoggedInInfo"];

  if (![twitterLoggedInInfo isEqualToString:@"v3"]) {
    NSString *currentUserID = [Twitter sharedInstance].sessionStore.session.userID;
    [[Twitter sharedInstance].sessionStore logOutUserID:currentUserID];

    [[NSUserDefaults standardUserDefaults] setObject:@"v3" forKey:@"TwitterLoggedInInfo"];
    [[NSUserDefaults standardUserDefaults] synchronize];

    [[Twitter sharedInstance] logInWithCompletion:^(TWTRSession *session, NSError *error) {
      if (session) {
        TWTRComposerViewController *composer = [[TWTRComposerViewController alloc] initWithInitialText:tweetText image:tweetImage videoURL:nil];
        [self presentViewController:composer animated:YES completion:nil];
      }
    }];
  } else {
    if (![twitterLoggedInInfo isEqualToString:@"v3"]) {
      [[NSUserDefaults standardUserDefaults] setObject:@"v3" forKey:@"TwitterLoggedInInfo"];
      [[NSUserDefaults standardUserDefaults] synchronize];
    }

    TWTRComposerViewController *composer = [[TWTRComposerViewController alloc] initWithInitialText:tweetText image:tweetImage videoURL:nil];
    [self presentViewController:composer animated:YES completion:nil];
  }
  } else {
    [[Twitter sharedInstance] logInWithCompletion:^(TWTRSession *session, NSError *error) {
      if (session) {
        TWTRComposerViewController *composer = [[TWTRComposerViewController alloc] initWithInitialText:tweetText image:tweetImage videoURL:nil];
        [self presentViewController:composer animated:YES completion:nil];
      }
    }];
  }

TwitterLoggedInInfo键检查您只存在的读取权限用户,我的意思是使用这个键是一个可选的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46094360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档