![](/img/trans.png)
[英]MFMessageComposeViewController iOS7 addAttachmentData:typeIdentifier:filename: not working
[英]MFMessageComposeViewController addAttachmentData on iPad iOS7 black screen
我有一个MFMessageComposeController,我想通过iMessage发送图像(SMS在我的iPad上不可用)。
这是我的代码:
- (void)presentMessageController {
if(![MFMessageComposeViewController canSendAttachments])
{
UIAlertView *warningAlert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Your device doesn't support sharing photos via SMS!"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[warningAlert show];
return;
}
MFMessageComposeViewController *messageController = [[MFMessageComposeViewController alloc] init];
messageController.messageComposeDelegate = self;
[messageController addAttachmentData:imgData typeIdentifier:(NSString *)kUTTypePNG filename:@"image.png"];
// Present message view controller on screen
[self presentViewController:messageController animated:YES completion:nil];
}
问题似乎出在[messageController addAttachmentData ...]中 。 未显示messageController,而是出现空白屏幕,并且应用程序挂起,并且在1-2秒后,委托以MessageComposeResultCancelled进行响应,我在控制台中看到了这一点:
等待来自com.apple.mobilesms.compose的栅栏屏障超时
警告:在演示或关闭过程中,请尝试从视图控制器中关闭!
如果我注释该行,则会显示messageController(已打开iMessage)。
重要:
在iPad上进行测试时会发生这种情况(我仅在安装了iOS 7.0.3的iPad 2上进行过测试)。 相同的代码可以在带有iOS 7.0.3的iPhone 5、4、4S上完美运行。
当黑屏出现时,无法返回到应用程序。 您必须终止该应用程序,然后重新启动。
有人遇到同样的问题吗? 请帮忙。 谢谢。
尝试更改:
[messageController addAttachmentData:imgData typeIdentifier:(NSString *)kUTTypePNG filename:@"image.png"];
至:
[messageController addAttachmentData:imgData typeIdentifier:@"public.data" fileName:@"image.png"];
延迟一段时间后调用presentMessageController
方法
[self performSelector:@selector(presentMessageController)withObject:nil afterDelay:0.5];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.