新的Twitter.framework出了问题,我还没有找到解决方案。
这是我的代码:
if ([TWTweetComposeViewController canSendTweet]){
TWTweetComposeViewController *twitter = [[TWTweetComposeViewController alloc] init];
[twitter addImage:tweetImage];
[twitter setInitialText:initalString];
[twitter addURL:url];
twitter.completionHandler = ^(TWTweetComposeViewControllerResult result) {
if (result == TWTweetComposeViewControllerResultDone) {
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Tweeted"
message:@"You successfully tweeted"
delegate:self cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
[alertView release];
});
} else if (result == TWTweetComposeViewControllerResultCancelled) {
dispatch_async(dispatch_get_main_queue(), ^{
UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"Twitter"
message:@"Tweet has been canceled"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
[alertView release];
});
}
dispatch_async(dispatch_get_main_queue(), ^{
[self dismissModalViewControllerAnimated:YES];
});
};
[self presentViewController:twitter animated:YES completion:nil];
[twitter release];
}
似乎是实现这个的标准方法,虽然我在主线程上增加了排队UI的东西。 addImage,setInitialText和addURL参数都很好。事实上,这在大多数情况下都适用。我遇到的问题是偶尔当TWTweetComposeViewController被分配时,应用程序冻结,我可以在控制台中看到“ twitterd session中断,重启...... ”。该应用程序有时会暂停几秒钟,但更多时候它会挂起不合理的时间(20 - 30秒或更长时间),我会收到大量这些消息,然后Twitter控制器最终会向上滑动。偶尔,它也会挂起,永远不会回来。
想知道以前有人看过这个问题,或者对这个问题的解决方案有什么想法?
提前致谢。
答案 0 :(得分:1)
我从未在twitter视图控制器中添加这些问题。我使用了粘贴在这篇文章中的代码:https://stackoverflow.com/questions/9314308/can-twtweetcomposeviewcontroller-tweet-sheet-rotate-to-landscape
你可以尝试一下,当你在模态视图中解雇或出现时,只需将其改为“self”,因为我正在使用不同的视图控制器。