繁体   English   中英

从命令行运行xcodebuild时,如何写入iPhone SDK中的当前目录?

[英]How can I write to the current directory in the iPhone SDK when running xcodebuild from the command line?

有谁知道在运行xcodebuild(主要是项目目录)并将文件写入其中时如何获取当前目录的路径? 我正在尝试将某些单元测试的结果从obj-c代码保存到磁盘,但如果可能的话,我宁愿不要将其转储到应用程序的文档路径中。 我可能可以将'../../ ..'等附加到文档路径,但是我希望可以有一种更优雅的方法。

*当然,这仅与模拟器有关……但是,也许模拟器甚至尝试维护iPhone文件系统沙箱? 我在Mac上向其他随机位置进行写操作没有运气,因此我怀疑可能是这种情况。

感谢您的输入!

我想通了-答案很简单。 着重于“尴尬”。

如果您使用类似NSString的writeToFile方法的方法,那么您所要做的就是将您的路径视为相对于您从何处运行xcodebuild的位置-不需要NSSearchPathForDirectoriesInDomains。

例:

(如果在〜/ src / awesomeapp中运行)

[myString writeToFile:@"awesome.file" atomically:YES encoding:NSUTF8StringEncoding error:&error];

将输出到:〜/ src / awesomeapp / awesome.file

是的,我是个白痴。 我实际上首先尝试过此方法,但是我试图写入一个不存在的相对目录,从而导致无用的“无法执行此操作”样式错误,导致我四处上网,最终导致stackoverflow ...(您需要使用FileManager#createDirectoryAtPath!不幸的是,没有自动创建路径。)

仅供参考,很明显,通过xcodebuild运行时,您可以随意在硬盘上的任何位置写入文件-不会出现沙箱。 但是,如果您在模拟器中运行,则情况可能会不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM