2012-04-23 461 views
0

如何通过电子邮件发送包含“&”的iphone应用程序的URL。 这是样品网址如何通过电子邮件发送电子邮件地址

http://www.google.co.in/search?hl=en&safe=active&q=facebook&oq=facebook&aq=f&aqi=&aql=&gs_l=mobile-gws-serp.3...0l0l0l1620716l0l0l0l0l0l0l0l0ll0l0.frgbld.&mvs=0 
+0

因为与被视为特殊字符不要忘记释放CGStringRef目标c,你必须在邮寄之前验证URL字符串 – Charan 2012-04-23 08:51:26

+0

Thanx Sree的回复。我应该做哪种验证? – Nik 2012-04-23 08:54:57

+0

使用字符串编码方法... – 2012-04-23 08:56:11

回答

0
 CFStringRef escaped = 
     CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, 
               (CFStringRef)theURL, 
               NULL, 
               (CFStringRef)@"!*'();:@&=+$,/?%#[]", 
               kCFStringEncodingUTF8); 

        NSString* useit = (NSString*)escaped; 

0

试试这个:在应用程序中MFMailComposure电子邮件功能

-(void)displayComposerSheet 
{ 
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
picker.mailComposeDelegate = self; 
[picker setSubject:@"My URL!"]; 

// Set up recipients 
NSArray *toRecipients = [NSArray arrayWithObject:@"[email protected]"]; 
NSString *emailBody = @"http://www.google.co.in/search?hl=en&safe=active&q=facebook&oq=facebook&aq=f&aqi=&aql=&gs_l=mobile-gws-serp.3...0l0l0l1620716l0l0l0l0l0l0l0l0ll0l0.frgbld.&mvs=0"; 
[picker setMessageBody:emailBody isHTML:NO]; 

[self presentModalViewController:picker animated:YES]; 
[picker release]; 
} 

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{ 
message.hidden = NO; 

switch (result) 
{ 
case MFMailComposeResultCancelled: 
message.text = @" Message canceled"; 
break; 
case MFMailComposeResultSaved: 
message.text = @"Message saved"; 
break; 
case MFMailComposeResultSent: 
message.text = @"Message sent"; 
break; 
case MFMailComposeResultFailed: 
message.text = @"Message failed"; 
break; 
default: 
message.text = @"Message not sent"; 
break; 
} 
[self dismissModalViewControllerAnimated:YES]; 
}