我的程序從文件加載一些數據,然後繪製它們。爲什麼我的程序可以在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