我将一个名为“test.own”的文件写入文档路径,并得到它的URL。
现在我有一个按钮,我想要的是打开一个选项表对话框,当我单击按钮时,其中有电子邮件 或其他人要发送或打开我的文件。
有没有办法做到这一点?
提前致谢!
我将一个名为“test.own”的文件写入文档路径,并得到它的URL。
现在我有一个按钮,我想要的是打开一个选项表对话框,当我单击按钮时,其中有电子邮件 或其他人要发送或打开我的文件。
有没有办法做到这一点?
提前致谢!
选择文件时执行此操作。
- (IBAction)showFileOptions:(id)sender
{
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select a option"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:nil
otherButtonTitles:@"email file",@"open file"];
[actionSheet showInView:self.view];
}
编写委托来处理 actionSheet:
- (void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex: (NSInteger)buttonIndex
{
if (buttonIndex == 0) {
//email
[self emailDocument];
}
else if (buttonIndex==1)
{
//open file
}
}
电子邮件文件:
-(void)emailDocument
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Your own subject"];
// Set up recipients
NSArray *toRecipients = [NSArray arrayWithObject:@"first@example.com"];
NSArray *ccRecipients = [NSArray arrayWithObjects:@"second@example.com", @"third@example.com", nil];
NSArray *bccRecipients = [NSArray arrayWithObject:@"fourth@example.com"];
[picker setToRecipients:toRecipients];
[picker setCcRecipients:ccRecipients];
[picker setBccRecipients:bccRecipients];
// Attach your .own file to the email
//add conversion code here and set mime type properly
NSData *myData =[NSData dataWithContentsOfURL:[NSURL urlWithString:pathToOwnFile]];
[picker addAttachmentData:myData mimeType:@"SETMIMETYPEACCORDINGLY" fileName:@"example.own"];
// Fill out the email body text
NSString *emailBody = @"PFA";
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES];
}
对于电子邮件,您需要做的就是呈现 MFMailComposeViewController 视图,然后您可以.own
通过该视图控制器的addAttachmentData:mimeType:fileName:
方法添加您的“”自定义文档。
(我会链接到 Apple 的文档,但 Apple 的文档网站在我输入此内容时似乎已关闭)。
至于您问题的另一部分,其他应用程序通常使用 UIDocumentInteractionController 来显示“在...中打开”对话框,除了其他应用程序需要知道如何打开您的自定义文档(他们将无法做到这一点)如果您的应用程序不太大或不太出名,或者如果其他人(不是您)编写了它)。