iOS:如何在代码中打开自己的文件格式(如.own)

时间:2013-04-07 08:50:55

标签: ios objective-c xcode

我将名为“test.own”的文件写入文档路径,然后获取网址

现在我有一个按钮,我想要的是打开一个选项工作表对话框,其中电子邮件或其他人 发送或打开单击按钮时,我的文件

无论如何要实现这个目标吗?

提前致谢!

2 个答案:

答案 0 :(得分:2)

选择文件时,请执行此操作。

- (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]; 
}

答案 1 :(得分:1)

对于电子邮件,您需要做的就是显示MFMailComposeViewController视图,然后您可以通过该视图控制器的.own方法添加“addAttachmentData:mimeType:fileName:”自定义文档。

(我会链接到Apple的文档,但Apple的文档网站似乎已关闭,因为我正在输入此内容。)

至于问题的其他部分,其他应用程序通常使用UIDocumentInteractionController来显示“Open in ...”对话框,除了其他应用程序需要知道如何打开自定义文档(它们不会是如果你的应用程序不是太大或没有名字,或者是否有其他人 - 你不是 - 那么你可以创作它。)