【发布时间】:2013-11-30 21:57:29
【问题描述】:
我是 UIActivityViewController 的新手,也许我缺少基本的了解。我想要做的是将 csv、xml 和 vcard 文件附加到活动控制器并显示保管箱、谷歌驱动器等选项。我已经在我的 iPhone 上下载并安装了 Dropbox、Google Drive 等应用程序。
现在,当我启动 UIActivityViewController 时,我看到的只是我的活动控制器中的默认消息和电子邮件应用程序。我怎样才能让其他应用程序也出现在他们的身上?我是否需要为每个应用单独安装 SDK 并以某种方式将它们合并到我的应用中?
这是我最想看到的
但这是我看到的。
这是我目前尝试过的代码
-(IBAction) dropBoxAction
{
paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask ,YES);
NSString* documentsPath = [paths objectAtIndex:0];
//CSV
NSMutableString *fileNameStr = [NSMutableString stringWithFormat:@"test_CSV_Backup.csv"];
NSString* csvDataFileStr = [documentsPath stringByAppendingPathComponent:fileNameStr];
NSData *csvData = [NSData dataWithContentsOfFile:csvDataFileStr];
//EXCEL
NSMutableString *fileNameStr2 = [NSMutableString stringWithFormat:@"test_EXCEL_Backup.xml"];
NSString* excelDataFileStr = [documentsPath stringByAppendingPathComponent:fileNameStr2];
NSData *excelData = [NSData dataWithContentsOfFile:excelDataFileStr];
//VCARD
NSMutableString *fileNameStr3 = [NSMutableString stringWithFormat:@"test_VCARD_Backup.vcf"];
NSString* vcardDataFileStr = [documentsPath stringByAppendingPathComponent:fileNameStr3];
NSData *vcardData = [NSData dataWithContentsOfFile:vcardDataFileStr];
//adding them all together
NSMutableArray *sharingItems = [NSMutableArray new];
[sharingItems addObject:csvData];
[sharingItems addObject:excelData];
[sharingItems addObject:vcardData];
UIActivity *activity = [[UIActivity alloc] init];
NSArray *applicationActivities = @[activity];
UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:sharingItems applicationActivities:applicationActivities];
[self presentViewController:activityController animated:YES completion:nil];
}
【问题讨论】:
标签: ios objective-c uiactivityviewcontroller