我遵循https://dev.twitter.com/twitterkit/ios/compose-tweets的指令,通过对象C应用程序为iOS 11编写tweet
// 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没有跑。有人也有同样的问题吗?
发布于 2017-09-29 16:28:35
首先,在Twitter上为您的应用程序获取读写权限。
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键检查您只存在的读取权限用户,我的意思是使用这个键是一个可选的。
https://stackoverflow.com/questions/46094360
复制相似问题