好的,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 任何人都可以帮助我 谢谢。
答案 0 :(得分:1)
通过主文件,你的意思是主要的可执行文件?查看NSBundle以获取已编译应用程序的各种组件的路径。
[[NSBundle mainBundle] bundlePath]; // path to your.app
[[NSBundle mainBundle] executablePath]; // path to your.app main executable
答案 1 :(得分:0)
除非您只是设置它,否则依赖当前目录的值通常是个坏主意。无论如何,你做得太难了;应用程序的路径为[[NSBundle mainBundle] bundlePath]
。