我的程序从文件加载一些数据,然后绘制它们。为什么我的程序可以在Xcode中运行,但无法作为单独的应用程序运行?
的文件读取的部分是这样的:
- (void)load_file
{
NSFileHandle *inFile = [NSFileHandle fileHandleForReadingAtPath:@"map_data"];
NSData *myData=[inFile readDataToEndOfFile];
NSString *myText=[[NSString alloc]initWithData:myData encoding:NSASCIIStringEncoding];
NSArray *values = [myText componentsSeparatedByString:@"\n"];
for (NSString *string in values) {
NSArray *lines=[string componentsSeparatedByString:@" "];
if ([lines count] != 2) break;
NSPoint point= NSMakePoint([lines[0] floatValue], [lines[1] floatValue]);
[points addObject:[NSValue valueWithPoint:point]];
}
[self setNeedsDisplay:YES];
}
调试时,我把数据文件中的[一个NSBundle mainBundle]的目录,且运行正常。
但是,当我使用实现取出应用程序时,它永远不会运行。我把数据文件放在与应用程序相同的路径中,但似乎无法加载它。
更新
我试图用C++,但仍然失败。
- (void)load_file
{
ifstream inf("map_data");
double x, y;
while (inf >> x >> y) [points addObject:[NSValue valueWithPoint:NSMakePoint(x, y)]];
inf.close();
}
我试图改变构建方案释放和运行,这很好。但每当我直接进入应用程序的发现者,并双击它,它不起作用,似乎没有加载。
您必须进行存档构建并将其共享给Finder。您无法直接从Finder运行调试版本。 – matt
@matt,我知道,我是这么做的。 – HanXu