大家见鬼
我正在尝试使用 Twitter 框架在 IOS5 上的应用程序中发布一条 twitter 消息,当我运行我的应用程序时,它显示线程 1:程序收到信号:代码行上的“EXC_BAD_ACCESS”:iOS5twitter.completionHandler = ^( TWTweetComposeViewControllerResult 结果) ;
这里是 Twitter 代码块:
//代码块
TWTweetComposeViewController *iOS5twitter = [[TWTweetComposeViewController alloc] init];
[iOS5twitter addImage:self.item.image];
[iOS5twitter addURL:self.item.URL];
//if I comment out the following block of code, it works.
iOS5twitter.completionHandler = ^(TWTweetComposeViewControllerResult result)
{
[self.currentTopViewController dismissViewControllerAnimated:YES completion:nil];
switch (result) {
case TWTweetComposeViewControllerResultDone:
[self sendDidFinish];
break;
case TWTweetComposeViewControllerResultCancelled:
[self sendDidCancel];
default:
break;
}
};
//the above code can be commented out, the it works.
[self.currentTopViewController presentViewController:iOS5twitter animated:YES completion:nil];
[iOS5twitter release];
//代码块结束
如果我注释掉以下代码块,它可以工作并且可以在 Twitter 中发布消息,但唯一的问题是应用程序无法提示该对话框是否成功发布了消息。
//if I comment out the following block of code, it works.
/* iOS5twitter.completionHandler = ^(TWTweetComposeViewControllerResult 结果) { [self.currentTopViewController dismissViewControllerAnimated:YES completion:nil];
switch (result) {
case TWTweetComposeViewControllerResultDone:
[self sendDidFinish];
break;
case TWTweetComposeViewControllerResultCancelled:
[self sendDidCancel];
default:
break;
}
};
*/ //上面的代码可以注释掉,就可以了。
谁能帮我弄清楚如何解决 EXC_BAD_ACCESS 问题并在消息发布成功与否时提示最终用户?
提前致谢!
最后上面的代码在真机(iphone 4s ios5.1)上运行,没有注释块代码,太奇怪了,所以如果你也有上述问题的模拟器,我建议你在真机上试试。
苹果的问题是,为什么我们在模拟器和真实设备之间得到不同的结果,这会让开发者抓狂?...