我正在构建一个应用程序,允许用户导出导入数据文件并通过电子邮件发送它们。
所以我创建了一个扩展名为“.myAppExtension”的数据文件类型。
第一次一切都很顺利。我无法导出和发送电子邮件。当我打开电子邮件时,该方法确实有效。
-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if (url != nil && [url isFileURL]) {
NSLog(@"%@",url);
NSLog(@"%@",[url pathExtension]);
if([[[url pathExtension] lowercaseString] isEqualToString:[@"myAppExtension" lowercaseString]]){
//Deal with received file
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Export ok" message:[NSString stringWithFormat:@"This file has been added : %@",[url lastPathComponent]] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil,nil];
[alert show];
}else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Export failed" message:[NSString stringWithFormat:@"This extention is not supported : %@",[url pathExtension]] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil,nil];
[alert show];
}
}
return YES;
}
我的问题是,当我想导出扩展名为“otherExtension”的其他类型的文件时。我没有在我的应用程序中为此扩展创建数据类型。
所以我用第二种类型的文件导出并发送了一封电子邮件。文件名显示在电子邮件“file.otherExtension”中。但是,这就是问题所在,当我点击此邮件附件时,电子邮件应用程序让我可以在我的应用程序中打开它。这不是我想要的,正如我所说,我没有为“otherExtension”创建数据类型。
编辑:这就是我在 myApp-info.plist 中创建文件类型的方式: