2012-05-11 15 views
5

Pracuję nad aplikacją, w której wymagane jest wysłanie linku w wiadomości tekstowej. Używam MFMessageComposeViewController, jeśli iPhone i wypróbowany ciąg HTML, ale nie działa. Używam kodu:wyślij łącze w wiadomości tekstowej na iPhonie

-(IBAction)sendToSMS:(id)sender 
{ 
    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; 

    // NSArray *arr=[[NSArray alloc] initWithObjects:phoneNumber,nil]; 
    // [controller setRecipients:[arr objectAtIndex:0]]; 

    NSLog(@"received:- %@",controller.recipients); 
    controller.messageComposeDelegate = self; 
    controller.body [email protected]"<html><body><font color=#FFFFFF>Hello,<br><a href=\"http://www.yahoo.com\">click</a>---here to go to Yahoo!</font></body></html>"; 


    if([MFMessageComposeViewController canSendText]) 
    { 
     [self presentModalViewController:controller animated:YES]; 
    } 
} 

Odpowiedz

22

SMS nie obsługuje HTML ani adresów URL, tylko zwykły tekst.

Wszystko, co możesz zrobić, to po prostu dodać adres URL do wiadomości, a następnie do aplikacji Wiadomości, aby rozpoznać adres URL i zezwolić użytkownikowi na kliknięcie.

+2

Dlaczego głosowanie w dół, wiadomość tekstowa nie obsługuje HTML. – rckoenes

+0

Tak, zgadzam się z @rckoenes. – Sandroid

3

Wystarczy zrobić coś takiego:

controller.body [email protected]"Hello, here is a link to Yahoo!\nhttp://www.yahoo.com";

Jeśli adresy URL podpory odbierający telefon (większość z nich w tych dniach) będzie ona automatycznie sprawiają, że zaskarżeniu (dotykalne, klikalny, wybierane lub cokolwiek)

+0

, ale wymaganiem nie jest wyświetlenie adresu URL :( – Sandroid

+0

As @rckoenes poprawnie stwierdza, że ​​SMS nie obsługuje HTML, jest to zwykły tekst. Dlaczego nie chcesz wyświetlać adresu URL? – hypercrypt