Raj*_*dal 4 iphone iphone-sdk-3.0 mfmailcomposeviewcontroller
当我为不同的Base SDK构建它时,我遇到了这段代码的问题:
MFMailComposeViewController *mail = nil;
mail = [[MFMailComposeViewController alloc] init];
NSString *description = @"Some mail string";
if([MFMailComposeViewController canSendMail])
{
mail.mailComposeDelegate =self;
[mail setSubject:story.title];
[mail setMessageBody:[NSString stringWithFormat:(NSString *)kMessageBodyFormat,description,story.webLink] isHTML:NO];
}
[self presentModalViewController:mail animated:YES];
[mail release];
mail=nil;
Run Code Online (Sandbox Code Playgroud)
当我使用Base SDK 3.0构建它时,如果MFMailComposeViewController's初始化返回nil,如果用户没有任何邮件帐户,则会发生这种情况,系统会提供默认的"No mail accounts"警报.
但是当我使用Base SDK 4.0构建它并将其部署到3.0 OS时,如果用户没有任何邮件帐户,系统不会显示相同的警报,而是presentModalViewController崩溃.
MFMailComposeViewController's如果用户在3.0和4.0基本SDK中都没有任何邮件帐户,则初始化返回nil,但在某些地方presentModalViewController智能地在SDK 3.0的情况下发出警报但在3.0上部署的SDK 4.0失败并崩溃.
有没有人遇到过这个问题/任何想法究竟发生了什么.
谢谢,拉吉
当我遇到同样的问题时,我发现了这个问题.
我认为这是因为,如果手机中没有设置邮件帐号.该[[MFMailComposeViewController alloc] init]回报为零.
因此,在呈现视图控制器之前,我们需要检查它是否为零.
小智 7
我刚刚在iOS 4上进行了一些beta测试,并且发现了你的帖子.我无法弄清楚为什么它会返回零,所以谢谢你的回答.至于你的问题的答案,你只需要检查它是否为零.如果它为零,则不显示模态视图控制器.它仍将显示弹出窗口.
| 归档时间: |
|
| 查看次数: |
5486 次 |
| 最近记录: |