复制主应用程序的问题

时间:2010-06-28 16:09:57

标签: iphone objective-c

好的,eXercice即将通过以下方式获取正在运行的应用程序的路径:

NSFileManager *FManager = [ NSFileManager defaultManager ] ;
NSString *CurrentPath = [ FManager currentDirectoryPath ] ;
NSDictionary *infoPList = [[NSBundle mainBundle] infoDictionary];
NSString *appName = [infoPList objectForKey:@"CFBundleName"];
NSString *mainpath = [ CurrentPath stringByAppendingPathComponent:appName ] ;
NSString *mainFile = [ mainpath stringByAppendingString:@".app" ] ;

然后我尝试将主文件复制到主目录

NSString *homedir = NSHomeDirectory();
if ( [ Fmanager fileExistsAtPath:mainfile ] == YES ) 
    NSLog(@" File exist " ) ;
else {
    NSLog(@" not eXist " );
}

if ( [ Fmanager copyItemAtPath:mainfile toPath:homedir error:NULL ] == YES ) {
    NSLog(@" COPY SUCC " ) ;
}
else {
    NSLog(@" COPY FAIL") ;
} 

这里的复制过程失败了,它还告诉我主文件甚至没有eXists ... ou 任何人都可以帮助我 谢谢。

2 个答案:

答案 0 :(得分:1)

通过主文件,你的意思是主要的可执行文件?查看NSBundle以获取已编译应用程序的各种组件的路径。

[[NSBundle mainBundle] bundlePath]; // path to your.app
[[NSBundle mainBundle] executablePath]; // path to your.app main executable

答案 1 :(得分:0)

除非您只是设置它,否则依赖当前目录的值通常是个坏主意。无论如何,你做得太难了;应用程序的路径为[[NSBundle mainBundle] bundlePath]