我正从我的应用程序向服务器发送一些数据。我的数据包含不同的字段,如下面的代码所示
-(void)createXML
{
xmlStr = @"<?xml version='1.0'?>\n<jand_req>\n<inquiryList>\n<productArr>\n";
NSString *nameStr=[NSString stringWithFormat:@"<name>%@</name>\n",name.text];
xmlStr=[xmlStr stringByAppendingString:nameStr];
NSString *compNameStr=[NSString stringWithFormat:@"<comp_name>%@</comp_name>\n",compName.text];
xmlStr=[xmlStr stringByAppendingString:compNameStr];
NSString *cityStr=[NSString stringWithFormat:@"<city>%@</city>\n",city.text];
xmlStr=[xmlStr stringByAppendingString:cityStr];
NSString *countryStr=[NSString stringWithFormat:@"<country>%@</country>\n",[nameToCode objectForKey:country.text]];
xmlStr=[xmlStr stringByAppendingString:countryStr];
NSString *commentsStr=[NSString stringWithFormat:@"<comment>%@</comment>\n",commentsBox.text];
xmlStr=[xmlStr stringByAppendingString:commentsStr];
xmlStr=[xmlStr stringByAppendingString:@"</userDetail>\n</inquiryList>\n</jand_req>"];
}
在此之后,我将上述数据发送到服务器,如下面的代码所示
- (void)submitForm
{
[self createXML];
NSLog(@"myaccesscode%@",[fn getValFromSettings:@"accessCode"]);
NSString *serviceUrlStr=[NSString stringWithFormat:@"%@/%@/API_sendmail.php?access_code=%@",domainName,apiFolderPath,[fn getValFromSettings:@"accessCode"]];
NSLog(@"%@",serviceUrlStr);
NSURL * serviceUrl = [NSURL URLWithString:[serviceUrlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableURLRequest * serviceRequest = [NSMutableURLRequest requestWithURL:serviceUrl cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:100];
[serviceRequest setValue:@"text/xml" forHTTPHeaderField:@"Content-type"];
[serviceRequest setHTTPMethod:@"POST"];
[serviceRequest setHTTPBody:[xmlStr dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *conn=[[[NSURLConnection alloc] initWithRequest:serviceRequest delegate:self startImmediately:YES] autorelease];
}
以上所有代码都适合我,但现在我想在此代码中包含另一个功能,其中包含发件人电子邮件地址,但此发件人电子邮件必须从设备中获取,就像我们在应用程序中使用MFMailComposeViewController一样然后自动从Device获取发件人电子邮件地址。感谢帮助。
答案 0 :(得分:0)
#import <AddressBook/AddressBook.h>
NSString *emailAddr = @"";
ABPerson *aPerson = [[ABAddressBook sharedAddressBook] me];
ABMultiValue *emails = [aPerson valueForProperty:kABEmailProperty];
if([emails count] > 0)
emailAddr = [emails valueAtIndex:0];
不要忘记添加AddressBook.framework。
现在,emailAddr包含发件人电子邮件,您可以将其附加到xml字符串或您想要的任何位置!
-(void)createXML
{
// Your code
NSString *emailStr=[NSString stringWithFormat:@"<email>%@</email>\n",emailAddr];
xmlStr=[xmlStr stringByAppendingString:emailStr];
}
快乐的编码!