2012-05-08 9 views
0

私は与えられた内容の事前入力SMS本体に探しています私は私の研究を行っていると誰もがそれを行うことができないと言う「smsto:555-555-5555 Hello World」のボディコンテンツのiPhone SMSのURLスキーム?

を私は上のQRリーダーを持っています私の携帯電話は今すぐ "SMS:555-555-5555:Hello world"を取ることができ、スキャンされた正しい電話番号でコンテンツをあらかじめ埋めています。

私の質問はそうです。私はこれをどのようにして行うのですか?提供されたURLスキームが本文を処理していないことは明らかです。身体をあらかじめ詰め込む他の方法はありますか?それはQuickMark Readerではっきりと行うことができます。

+0

誰もがここで解決策を探しているなら、私は ..問題を解決チュートリアル はhttp://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-smsです/ –

+0

問題は、MFMessageComposeViewControllerが現在非iMessageに対して壊れていることです。http://stackoverflow.com/q/8314645/974531 –

答えて

0

SMS用のmodalViewControllerを使用して、テキストの本文を埋め込むことができます。

  1. プロジェクトにMessageUIフレームワークを追加します。
  2. セットあなたのViewController MFMessageComposeDelegate
  3. としてモーダルビューを作成し、それを提示:

    -(void) showMessageComposerWithText:(NSString*)messageText telNumber:(NSString*)telNumber composeDelegate:(id)delegate 
    { 
        MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; 
    
        if([MFMessageComposeViewController canSendText]){ 
         controller.body = messageText; 
         controller.recipients = [NSArray arrayWithObject:telNumber]; 
         controller.messageComposeDelegate = delegate; 
    
         [delegate presentModalViewController:controller animated:YES]; 
        } 
    } 
    
0

あなたはApple Documentationに応じて事前に定義されたメッセージをメッセージアプリを起動することはできません。あなたは何ができるか

自身を扱う実装し、次のようなURLを解析している。

NSURL *url = /* the url you get from the web (in webview delegate) or after QR Code scan */; 

if ([url.scheme isEqualToString:@"sms"]) // is it a sms ? 
{ 
    if([MFMessageComposeViewController canSendText]) // can I send text message ? 
    { 
     NSArray *parts = [url.absoluteString componentsSeparatedByString:@":"]; 
     NSString *messageText = parts.count == 3 ? [parts objectAtIndex:2] : @""; 
     NSString *telNumber = parts.count >= 2 ? [parts objectAtIndex:1] : @""; 
     MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; 
     controller.body = messageText; 
     controller.recipients = [NSArray arrayWithObject:telNumber]; 
     controller.messageComposeDelegate = self; 

     [self presentViewController:controller animated:YES completion:nil]; 
     [controller release]; 
    } 
} 

出来上がり!

関連する問題