2011-12-09 20 views

回答

2

不,这是不可能的,你首先需要使用MFMessageComposeViewController只支持文本。

还没有办法来检测,如果该消息将通过iMessage

+0

是否有可能以编程方式从我的应用程序切换的iMessage和我的应用程序加载的iMessage应用中的一些文字。我想给用户一个通过MFMessageComposeViewController发送消息的功能,但是如果设备不是iphone,我想给用户一个通过i Message发送消息的选项。 – NaXir

+0

'MFMessageComposeViewController'也可以在iPod touch和iPad上使用。 – rckoenes

+0

它显然可以发送IMessage图像,我不知道如何,但大量的应用程序做到这一点(例如whatsapp和9gag) – MichaelB

1

被发送尽管这是一个老问题,我只是想补充这助阵的是找到这对谷歌的球员:

对于下面的代码工作,你必须导入:

#import <MessageUI/MessageUI.h> 

而且具有MessageUI.framework在构建设置(Project Name > Build Phases > Link Binary with Libraries

链接下面

我的代码适用于视频和图像,所以你必须将其设置为一个:

NSString *attachmentType = @"image";NSString *attachmentType = @"video";

你也必须设置attachment NSData的:

NSData *attachment = UIImageJPEGRepresentation(YOUR_IMAGE,.5) 

这是一个设置图像的例子。 .5是图像质量,我发现它是质量和尺寸之间的良好折衷。 1.0是质量最好的(和最大尺寸!)

MFMessageComposeViewController* messageComposer = [MFMessageComposeViewController new]; 
    messageComposer.messageComposeDelegate = self; 
    [messageComposer setBody:message]; 
    [messageComposer setRecipients:recipients];colorForUsage:SC_THEME_MAIN]; 
    if (attachment && attachmentType) { 
     if ([attachmentType isEqual:@"image"]) { 
      [messageComposer addAttachmentData:attachment typeIdentifier:@"image/jpeg" filename:@"shotnote.jpg"]; 
     } 
     if ([attachmentType isEqual:@"video"]) { 
      [messageComposer addAttachmentData:attachment typeIdentifier:@"video/mp4" filename:@"shotnote.mp4"]; 
     } 
    } 
[YOUR_CURRENT_VIEW_CONTROLLER 
    presentViewController:messageComposer 
    animated:YES 
    completion:nil]; 

还要确保落实MFMessageComposeViewControllerDelegate协议,才能够真正关闭这个消息撰写视图控制器当用户按下发送或取消!

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result 

干杯!

2

这里是我做派的MP4作为附件的邮件

在.h文件中 #进口 和 MFMessageComposeViewControllerDelegate>

和方法。M档

-(void)sendMovieWithMessage{ 

MFMessageComposeViewController* messageComposer = [MFMessageComposeViewController new]; 
messageComposer.messageComposeDelegate = self; 
[messageComposer setBody:@""]; 

NSData *attachment = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:[self bringFilePathfromDocumentsDirectory:@"your file.mp4"]] options:NSDataReadingUncached error:nil]; 
[messageComposer addAttachmentData:attachment typeIdentifier:@"video/mp4" filename:@"your file.mp4"]; 



[self presentViewController:messageComposer animated:YES completion:nil]; 


} 

//代表

- (void)messageComposeViewController:(MFMessageComposeViewController  *)controller didFinishWithResult:(MessageComposeResult)result{ 

[self dismissViewControllerAnimated:YES completion:^{ 


}]; 

} 
相关问题