iPhone: отправьте изображение и текст в iMessage из моего собственного приложения - PullRequest
2 голосов
/ 09 декабря 2011

Я хочу отправить изображение и текст в iMessage из моего собственного приложения в ios5.

Можно ли отправить изображение в iMessage из приложения?

, если да

тогда что это за код и какие фреймворки мне добавить в мое приложение?

плз, помогите мне ...

Ответы [ 4 ]

2 голосов
/ 24 января 2015

Вот что я сделал, чтобы отправить .mp4 в качестве вложения к сообщению

в вашем файле .h #import и 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:^{


}];

 }
2 голосов
/ 09 декабря 2011

НЕТ, это невозможно, для начала вам нужно будет использовать MFMessageComposeViewController, который поддерживает только текст.

Также невозможно определить, будет ли сообщение отправлено через iMessage

1 голос
/ 12 января 2015

Хотя это старые вопросы, я просто хотел добавить это, чтобы помочь парням, которые нашли это в 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

Ура!

0 голосов
/ 09 декабря 2011

вы отправляете его так же, как отправляете SMS - если отправленная вами учетная запись активирована в iMessage, она будет отправлена ​​в iMessage. Apple ios5 iMessage для чтения и записи http://developer.apple.com/library/ios/#documentation/MessageUI/Reference/MFMessageComposeViewController_class/Reference/Reference.html#//apple_ref/doc/uid/TP40009668

Что касается определения в вашем приложении, есть ли у кого-то iMessage или нет ... Я не уверен, что вы можете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...