1

アプリケーションからサーバーにデータを送信しています。私のデータは、以下に示すコードのようにさまざまなフィールドで構成されています

-(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を使用する場合と同じように、デバイスからフェッチしてから自動的に取得する必要がありますデバイスから送信者の電子メールアドレスを取得します。助けがあれば感謝します。

4

1 に答える 1

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];
}

ハッピーコーディング!

于 2012-12-31T05:18:24.010 に答える