如何创建一个被识别为svg而不是xml的文件

时间:2016-05-12 17:33:08

标签: xml svg nsdata nsfilemanager finder

我正在编写一个从CGPoint生成.svg文件的程序(它在CGPoint的坐标处绘制一个红色圆圈)。

以下是生成xml代码的代码:

CGPoint myPoint = CGPointMake(250.0, 250.0);
float width = 500.0;
float height = 500.0;

NSMutableString *str = [[NSMutableString alloc] init];
[str setString:@"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"];
[str appendString:@"<!DOCTYPE svg>"];
[str appendString:@"<svg xmlns=\"http://www.w3.org/2000/svg\""];
[str appendString:@" version=\"1.1\""];
[str appendString:[NSString stringWithFormat:@" width=\"%f\"", width]];
[str appendString:[NSString stringWithFormat:@" height=\"%f\">", height]];
[str appendString:[NSString stringWithFormat:@"<circle cx=\"%f\" cy=\"%f\" r=\"10\" fill=\"red\"/>", myPoint.x, myPoint.y]];
[str appendString:@"</svg>"];

以下是创建文件的代码:

NSData *imageData = [str dataUsingEncoding:NSUTF8StringEncoding];

NSMutableString *fileName = [[NSMutableString alloc] init];
[fileName setString:@"/myImage.svg"];

NSURL *fileURL = [NSURL fileURLWithPath:[[myDirectoryURL path] stringByAppendingString:fileName]];

[fileManager createFileAtPath:[fileURL path] contents:imageData attributes:nil];

一切都很完美。该文件在右侧目录中创建。但问题是FINDER将其识别为xml文件而不是svg文件。

问题:有没有办法在xml文件或NSFileManager中指示我正在创建svg文件而不是xml文件?

0 个答案:

没有答案