推特在飞行登录工作一半



我正在尝试在我的应用程序中实现Twitter共享。

当用户点击 Twitter 按钮时,将调用以下方法:

TWTRComposer *composer = [[TWTRComposer alloc]init];
//here I configure the composer    
if ([[Twitter sharedInstance].sessionStore hasLoggedInUsers]) {
[composer showFromViewController:self completion:nil];
} else {
[[Twitter sharedInstance] logInWithCompletion:^(TWTRSession *session, NSError *error) {
if (session) {
[composer showFromViewController:self completion:nil];
} else {
//error handling
}
}];
}

现在我看到的情况是: 当登录用户时,将显示一个共享对话框,如预期的那样。 但是,如果没有登录用户,则会显示一个对话框,以允许用户登录(预期)。成功登录后(我确实有一个会话),没有显示作曲家(不是预期的)。

再次点击Twitter按钮确实呈现了作曲家。

我的逻辑哪里出错了。 如果您需要更多信息、日志记录等,请告诉我

好的,所以我认为问题是

[composer showFromViewController:self completion:nil]; 

在登录块中不起作用,因为"self"被解雇了。

为了解决这个问题,我现在从rootviewcontroller中呈现作曲家,如下所示

[composer showFromViewController:rootController completion:nil];

其中根控制器定义为

MyViewController *rootController = (MyViewController*)[[(myAppDelegate*)[[UIApplication sharedApplication]delegate] window] rootViewController];

最新更新