![](/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.