2014-10-02 27 views
1

从Finder运行OSX应用程序与Xcode的区别?从Finder运行OSX应用程序与Xcode的区别?

系统是iMac的27” 全-1运行小牛OSX 10.9.5和最新的Xcode 6.0.1

应用程序读取二进制文件,并把两个文本文件,可以重新写的二进制文件,并绘制一个 窗口客户区。

应用程序完全在Xcode中运行。 App,二进制文件和两个文本文件位于〜/ Debug或〜/ Release目录中。 写入文件没有问题。文件I/O代码做这个...

std::fstream out( binary_file, std::ios::in|std::ios::binary); 
if (out) 
out.read(buffer, MaxBuffer); 
out.close(); 

ofstream info(“info_file.txt”); 
if (info.is_open()) 
info << text; 
info.close(); 
system("chmod 777 info_file.txt"); //tried this, doesn’t help 

ofstream clout(“clout_file.txt”); 
if (clout.is_open()) 
clout << text; 
clout.close(); 
system("chmod 777 clout_file.txt"); //tried this, doesn’t help 

当从Finder中运行(双次点击)应用程序不能写入文件。无论在哪里,应用程序和文件都位于...

/用户/ MYNAME /应用程序/应用程序的名字

/用户/ MYNAME /库/ Application Support /应用程序的名字

其他

我应该说在App是在Xcode中构建的存档/发布,并放置在目标目录中以查找 Finder情况。这是正确的方式吗?这是我的第一个OSX应用程序,但我一直编程为 数十年。

权限用于取景的情况是

应用:MYNAME阅读&写,员工只读,大家只读 二进制文件:MYNAME阅读&写,工作人员读&写,大家读&写 文本文件:MYNAME阅读&写,工作人员阅读&写,大家都读&写

我已经检查了Unix终端的目录树中的所有权限也。 /Users/myname/...

Xcode与Finder有什么区别?关于...

用户名(绰号)

组名(工作人员,根,管理员)在启动时

工作目录上的应用程序和文件(读,写,执行)

权限应用程序的

位置和文件

会为文件写入工作的/ tmp位置?

哪里可以放置应用程序和文件的最佳位置?

应用程序工作目录被App更改为App和文件所在的位置。 Xcode - > Product - > Scheme - > Edit Scheme - > Options - > Working Directory设置为相同的位置。 这并不能帮助Finder运行情况。

此应用程序的MS Windows版本正常工作。 我已经移植它,重新编写它,适用于iMac OSX环境,并且它在Xcode中运行良好。 Finder案件有什么问题?为什么不能在输出模式下打开文件?

我正在考虑以objective-c风格重写文件I/O,但这将是一个痛苦,不应该是 必要的。 CString与NSString对我来说是一个很大的痛苦。我不得不使用.mm和 objective-C++源类型来实现这一目标。

想法欢迎和感谢。

+0

您应该将工作目录设置为启动时合理的地方,而不是依赖工作目录在启动时发生的任何事情(通常是从Finder启动时的'/')。要么是或者为你的文件使用完整路径。 – 2014-10-02 12:51:26

+0

可能的重复[应用程序不会写入文件从Finder运行(在Xcode中确定)](http://stackoverflow.com/questions/26149445/app-wont-write-to-file-when-run-from -finder-ok-in-xcode) – 2014-10-02 12:51:46

+0

应用程序工作目录由App更改为App和文件所在的位置。 – robrob 2014-10-02 12:55:42

回答

1

完整路径名称解决了从Finder运行的所有问题。多个目录位置尝试成功。非常感谢Paul R.

+0

这是你的意思,例如'ofstream clout(“〜/ out/clout_file.txt”);'? – GPMueller 2017-01-14 12:47:45

相关问题