Вставьте vCard из UIPasteBoard в Mail

Я копирую vcard (входит в комплект) в общий картон следующим образом:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"AM" ofType:@"vcf"]; NSData *data = [NSData dataWithContentsOfFile:filePath]; [[UIPasteboard generalPasteboard] setData:data forPasteboardType:(NSString*)kUTTypeVCard]; 

Затем я хотел бы, чтобы пользователь мог вставить его в электронное письмо. Однако Mail не предлагает вариант «Вставить», когда он был скопирован в картон. Я что-то делаю неправильно или Mail не распознает тип картона?

2 Solutions collect form web for “Вставьте vCard из UIPasteBoard в Mail”

Вы можете просто добавить его прямо в сообщение, например

 MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; NSString *filePath = [[NSBundle mainBundle] pathForResource:@"AM ofType:@"vcf"]; NSData *data = [NSData dataWithContentsOfFile:filePath]; [mailViewController addAttachmentData:data mimeType:@"text/vcard" fileName:@"AM.vcf"]; mailViewController.mailComposeDelegate = self; [self presentModalViewController:mailViewController animated:YES]; [mailViewController release]; 

Все в вашем коде выглядит правильно, поэтому если Mail не позволит вам вставить его, это означает, что Mail не поддерживает вставку этого типа.

Изменить: попробуйте с помощью NSDictionary:

 UIPasteboard *gpBoard = [UIPasteboard generalPasteboard]; NSData *data = [NSData dataWithContentsOfFile:filePath]; NSDictionary *item = [NSDictionary dictionaryWithObjectsAndKeys: data, (NSString *)kUTTypeVCard, nil]; gpBoard.items = [NSArray arrayWithObjects:item, nil]; 
  • Рекурсивно пересекают NSDictionary неизвестной структуры
  • Больше контроля над областью уведомлений iPhone для приложения стороннего календаря
  • Как программно рисовать на дисплее в iOS?
  • Tag Друзья в Facebook Фото Загрузить
  • Почему текст UILabel размывается на iPad, если его ширина невелика?
  • Веб-представление iOS, открывающее несколько ссылок, слишком часто теряет запросы
  • Создание Launch Screen.xib для iOS8
  • Есть ли способ отправить Memory Warning на устройство iPhone вручную?
  • Не удалось получить текущий ViewController внутри applicationWillResignActive
  • UIView внутри UIScrollView не получает события касания
  • Ошибка AWS SNS Недопустимый параметр: причина токена: конечная точка xxx уже существует с тем же токеном, но разные атрибуты
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.