Я не совсем уверен, что вы пытаетесь сделать, но iOS предлагает несколько способов отображения контроллера представления композиции электронной почты, а также способы доступа к контактам, сохраненным пользователем на его / ее iDevice.
Чтобы отобразить представление составления почты, сделайте слабую ссылку на MessageUI.framework
в своем проекте (слабая ссылка предпочтительнее, поскольку MessageUI.framework
недоступна в очень старых версиях iOS), а затем сделайте что-то вроде этого:
Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
if (mailClass != nil) {
// MessageUI Library is available. Presenting modal mail composer view.
MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
mailViewController.mailComposeDelegate = self;
[mailViewController setSubject:@"This is the subject of the email"];
[mailViewController setMessageBody:@"This is the body of the email." isHTML:NO];
[self presentModalViewController:mailViewController animated:YES];
[mailViewController release];
} else {
// MessageUI Library not available. Opening mail.app using a URL scheme.
// Note that this URL scheme only works on iOS3 and below, and seems to only accept a
// limited number of characters. For this reason, we only attach the URL.
NSString *mailBody = @"This is the body of the email."
NSString *mailSchemeURL = [NSString stringWithFormat:@"mailto:?body=%@", mailBody];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[mailSchemeURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]];
}
Если вы хотите получить доступ к контактам на iDevice, укажите ссылку AddressBook.framework
в своем проекте.Вы можете получить доступ к значениям на устройстве, следуя инструкциям в Руководство по программированию Apple .Например, вы можете получить массив всех контактов, например, так:
ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *contacts = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
Я предполагаю, что вы можете создать экземпляр представления почты с определенным контактом, используя комбинацию из перечисленного выше.Надеюсь, это поможет!