2013-04-09 45 views
0

我在我的应用程序中生成了一个.aiff文件,它位于/ Library中深处的派生数据文件夹中。当我在Xcode中运行应用程序时,一切正常。但是,当我将它存档时,程序在尝试写入时崩溃。我该如何解决这个问题?我需要学习使用Core Data还是有一个简单的解决方法?在归档应用程序中写入派生数据

+3

您确定你的意思是“派生数据”?这就是Xcode保留其构建产品的地方,而不是应用程序知道或写入的地方。 – 2013-04-09 00:22:50

+0

糟糕...我绝对是指派生数据,但我不知道一个应用程序无法访问它们。我应该用什么来代替? – 2013-04-09 01:02:59

回答

2

您是否试图写入当前工作目录?

(如果你想这样做[foo writeToFile:@"output.aiff" …],你是。)

当你在Xcode中运行,在CWD是内DerivedData构建的产品目录,你的应用程序包被创建。

当您在Xcode之外运行时,CWD是启动磁盘的根目录,您通常不具有写入访问权限,也不应该在没有明确命令和用户权限的情况下触摸(通过打开面板或类似)。

无论哪种方式,CWD是放错物的错误地方。

您可能应该run a Save panel,然后将您的完成处理程序中的文件写入the URL the Save panel has for you

如果你想藏匿在一些固定目录中的文件,ask an NSFileManager forCaches folderthe user domain(〜/库/高速缓存),然后告诉它创建该文件夹的名字是你的主束的bundleIdentifier,然后写里面的文件夹文件在该目录中。

+0

写入缓存工作!谢谢。 – 2013-04-09 08:48:18

相关问题