Send location information or vCard through SMS on iPhone

后端 未结 3 671
南旧
南旧 2021-01-16 07:20

I can send a location by embedding the person\'s location in a VCF through an email by including it as an attachment. I do not know how to do the same through SMS. Is it s

相关标签:
3条回答
  • 2021-01-16 08:01

    Actually it is MMS (with attached vcf), and there is no way to send MMS from application. Sorry :(

    0 讨论(0)
  • 2021-01-16 08:05

    Use Below code to send vCard as an attachment in a message

    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];
        }];
    }
    
    0 讨论(0)
  • 2021-01-16 08:07

    You may paste the contents of the vcf file into the sms... This is how the old phones solve this problem. Deniz is right, there is no way to send MMS from the application, so, you should use the old way to send a vcf file.


    So the possibilities (I know only one possibility).
    Read the contents of file to a string with this method:

    - (id)initWithContentsOfFile:(NSString *)path usedEncoding:(NSStringEncoding *)enc error:(NSError **)error
    

    Then you can set the body of an MFMessageComposeViewController.
    I hop this is clear.

    0 讨论(0)
提交回复
热议问题