0

我在我的应用程序中生成了几个 CSV 文件,我正在寻找一种可行的方法将这些文件传输到台式计算机,以便可以进行一些好的老式数字运算。目前,文件必须保持 CSV,因为这是桌面应用程序使用的。我看到有一种文件传输方法,但看起来它使用post提交文件,但我不希望这个软件有任何类型的web服务依赖。我正在考虑使用电子邮件,但看起来我无法添加附件。一个很好的 FTP 客户端会很有效,但我只能找到一个适用于 Android 的插件。

4

1 回答 1

0

发布到网络服务是最简单的,因为浏览器直接支持,不需要插件。

有可用的 iOS FTP 客户端库,但其中涉及相当多的复杂性。

另一方面,电子邮件是 iOS 的标准部分,因此即使标准插件没有实现您想要的结构,编写自定义电子邮件插件也非常简单:

-(void)sendEmail:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options  
    {

    NSString *callback = [arguments objectAtIndex:0];
    NSString *html = [arguments objectAtIndex:1];
    NSString *csv= [arguments objectAtIndex:3];

    NSData *csvData = [csv dataUsingEncoding:NSUTF8StringEncoding];


    MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
    composer.mailComposeDelegate = self;

    [composer setSubject:@"CSV Data"];
    [composer setMessageBody:html isHTML:YES];
    [controller addAttachmentData:csvData mimeType:@"text/csv" fileName:@"CSVFile.csv"];


    if (composer != nil) {
        [self.viewController presentModalViewController:composer animated:YES];
    }
   // [composer release]; // not needed with ARC

    // send callback immediately - we don't need to know what happened to the mail after the UI opened

    CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:  @"Email UI opened"];    
    [self writeJavascript:[result toSuccessCallbackString:callback]];

}   

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{       
    [self.viewController dismissModalViewControllerAnimated:YES];    
}
于 2012-11-16T02:53:32.247 回答