我想在ios5中从我自己的应用程序发送图像和文本到iMessage。
是否可以从应用程序向iMessage发送图像?
如果是的话
那么它的编码是什么?我应该在我的应用程序中添加哪些框架?
请帮助我...
答案 0 :(得分:2)
这是不可能的,首先你需要使用仅支持文本的MFMessageComposeViewController
。
此外,无法检测邮件是否将通过iMessage
答案 1 :(得分:2)
以下是我将.mp4作为附件发送到消息
所做的工作 在你的.h文件中#进口 和 MFMessageComposeViewControllerDelegate>
<。p>和.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:^{
}];
}
答案 2 :(得分:1)
虽然这是一个老问题,但我只是想添加这个来帮助那些在Google上找到这个的人:
要使以下代码生效,您必须导入:
#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
干杯!
答案 3 :(得分:0)
您发送的方式与您发送短信的方式相同 - 如果您发送的帐户是启用了iMessage,那么它将发送给iMessage。 Apple ios5 iMessage read and write http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMessageComposeViewController_class/Reference/Reference.html#//apple_ref/doc/uid/TP40009668
至于在您的应用中检测到某人是否有iMessage ...我不确定您是否可以。