您對UIActivityViewController的控制非常有限,但是如果您附加了衆所周知的MIME類型,我發現您可以通過在文件URL中提供關聯的文件擴展名使其正常工作。例如,如果你的附件是一個電子名片,請在該文件的URL「的.vcf」擴展名:
NSString *docsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
// The file extension is important so that some mime magic happens!
NSString *filePath = [docsPath stringByAppendingPathComponent:@"vcard.vcf"];
NSURL *fileUrl = [NSURL fileURLWithPath:filePath];
[data writeToURL:fileUrl atomically:YES]; // save the file
// Now pass the file URL in the activity items array
UIActivityViewController *avc = [[UIActivityViewController alloc] initWithActivityItems:
@[@"Here's an attached vCard", fileUrl] applicationActivities:nil];
[vc presentModalViewController:avc animated:YES];
這實際上工作,感謝markiv :)我將這與另一個指南關於如何爲應用程序創建自定義文件(例如使用.myApp的文件),並得到它與fileURL一起工作。 – Setomidor
對不起,提出這個老問題,但不應該[數據writeToURL:filePath atomically:YES]''[data writeToURL:fileURL atomically:YES]'? –
@GabrielePetronella是或我相信[data writeToFile:filePath atomically:YES]也可以。 –