在IOS上,您能否让QLViewController将某些文件视为文本?

在IOS上,您能否让QLViewController将某些文件视为文本?,ios,text,quicklook,uti,Ios,Text,Quicklook,Uti,我正在使用qlviewcontroller显示文件,其中许多文件实际上是纯文本的,但qlviewcontroller似乎不知道这一点。(例如,扩展名为.m的文件无法显示。) 有没有办法告诉qlviewcontroller将文件视为文本?(我想这决定了它根本无法查看它们。)我正在研究UTI,但我不确定这是否是正确的方向。(我将知道文件是否为文本,因此我不会猜测。) 或者我必须在后台使用.txt扩展名保存它们吗?我在API中找不到一种方法来告诉QLVeviewController哪个UTI是文件的正

我正在使用
qlviewcontroller
显示文件,其中许多文件实际上是纯文本的,但
qlviewcontroller
似乎不知道这一点。(例如,扩展名为
.m
的文件无法显示。)

有没有办法告诉
qlviewcontroller
将文件视为文本?(我想这决定了它根本无法查看它们。)我正在研究UTI,但我不确定这是否是正确的方向。(我将知道文件是否为文本,因此我不会猜测。)


或者我必须在后台使用.txt扩展名保存它们吗?

我在API中找不到一种方法来告诉QLVeviewController哪个UTI是文件的正确扩展名。 但由于QLViewController通过查看文件扩展名来确定UTI,因此您可以复制该文件,在其上附加“.txt”,然后打开该文件

在QLEVIEWCONTROLLERDATASURCE实现中:

- (id <QLPreviewItem>) previewController: (QLPreviewController *) controller previewItemAtIndex: (NSInteger) index; {
    NSString *file = @"source.m"
    NSString *tmp = [file stringByAppendingPathExtension:@".txt"]
    [[NSFileManager defaultManager]copyItemAtPath:file toPath:tmp error:NULL];
    return [NSURL fileURLWithPath:tmp];
}
-(id)previewController:(QLPreviewController*)控制器PreviewWiteMatIndex:(NSInteger)索引;{
NSString*文件=@“source.m”
NSString*tmp=[文件stringByAppendingPathExtension:@.txt”]
[[NSFileManager defaultManager]copyItemAtPath:file-toPath:tmp错误:NULL];
返回[NSURL fileURLWithPath:tmp];
}