我正在编写一个从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文件?