我可以通过将个人的位置通过电子邮件嵌入VCF来发送位置,方法是将其作为附件包含在内。我不知道如何通过短信做同样的事情。它仍在发送VCF格式,还是其他方法?我看到默认的短信可以做到这一点,它只是说“Dropped Pin”,如果你试图从地图应用程序发送一个掉落的引脚短信,它会看起来像一个联系信息屏幕。我基本上试图通过短信做类似的事情,但不知道如何格式化数据。
我发现此帖子类似:how to programmatically send business card messages to mobile phone via internet
我不知道放入SMS格式意味着什么。有什么想法吗?谢谢!
答案 0 :(得分:5)
实际上它是MMS(附带vcf),无法从应用程序发送彩信。对不起:(
答案 1 :(得分:1)
您可以将vcf文件的内容粘贴到短信中......这就是旧手机解决此问题的方法。 Deniz是对的,没有办法从应用程序发送彩信,所以,你应该用旧的方式发送一个vcf文件。
所以可能性(我只知道一种可能性) 使用此方法将文件内容读取为字符串:
- (id)initWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error
然后您可以设置MFMessageComposeViewController
的正文
我跳这很清楚。
答案 2 :(得分:0)
使用以下代码将vCard作为邮件的附件发送
if([MFMessageComposeViewController canSendText])
{
MFMessageComposeViewController *msgController = [[MFMessageComposeViewController alloc] init] ;
msgController.body = bodyString;
if (phoneNumberArray != nil) {
msgController.recipients = phoneNumberArray;
}
msgController.messageComposeDelegate = self;
if([MFMessageComposeViewController canSendAttachments] && [MFMessageComposeViewController isSupportedAttachmentUTI:(NSString *)kUTTypeVCard]) {
NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString * contactCardPath = [documentsDirectory stringByAppendingFormat:@"/%@",KVCardFileName]; //Path of vCard saved in your document directory
if([[NSFileManager defaultManager]fileExistsAtPath:contactCardPath]) {
NSData *vCardContact = [[NSFileManager defaultManager] contentsAtPath:contactCardPath];
[msgController addAttachmentData:vCardContact typeIdentifier:(NSString *)kUTTypeVCard filename:KVCardFileName];
}
}
[self presentViewController:msgController animated:YES completion:^{
[SVProgressHUD dismiss];
}];
}