2011-12-09 18 views
2

ios5の自分のアプリケーションから画像とテキストをiMessageに送信したい。iPhone:自分のアプリから画像+テキストをiMessageに送信

アプリから画像をiMessageに送信することはできますか?

は、それをコード化するもので、そのフレームワーク私は私のアプリに追加する必要がありそうか?

plzはあなたがSMSと同じようにそれを送り出す...

答えて

2

これはできません。まず、テキストのみをサポートするMFMessageComposeViewControllerを使用する必要があります。

はまた、これは古い質問ですが、メッセージがiMessage

+0

はプログラム的IMessageがに私のアプリに切り替えると私のアプリからIMessageがアプリケーションにテキストをロードすることが可能です。私はMFMessageComposeViewController経由でメッセージを送信する機能をユーザーに与えたいと思いますが、デバイスがiphoneではない場合、ユーザーにiメッセージ経由でメッセージを送信するオプションを与えたいと考えています。 – NaXir

+0

'MFMessageComposeViewController'はiPod touchとiPadでも動作します。 – rckoenes

+0

それは明らかにIMessageで画像を送信することが可能ですが、私はどのようにアプリケーションがたくさんあるのかわかりません(例えばwhatsappと9gag) – MichaelB

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がを持っているか、いない場合は、あなたのアプリで検出するように...私はあなたができるかわかりません。

1

を経由して送信されるかどうかを検出する方法はありません、私はGoogleでこれを見つける人を助けるためにこれを追加したい:

#import <MessageUI/MessageUI.h> 

そしてMessageUI.frameworkは、ビルド設定にリンクされている(Project Name > Build Phases > Link Binary with Libraries

を:インポートする必要が動作するように以下のコードについては

あなたは1のどちらかに設定する必要がありますので下記

私のコードは、ビデオおよびイメージのために動作します:

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

は、私はあなたの.hファイル内のメッセージ

の添付ファイルとして の#import と MFMessageComposeViewControllerDelegateを.MP4送信するためにやっていることである>

とあなたのメソッド。メートルファイル

-(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:^{ 


}]; 

}