【发布时间】:2011-06-05 01:16:22
【问题描述】:
我试图删除一个文件,但不知何故 nsfilemanager 不允许我这样做。我确实在一行代码中使用了该文件,但是一旦运行了该操作,我希望删除该文件。我已经记录了错误代码和消息,我得到错误代码:4 和消息:
"text.txt" could not be removed
有没有办法“干净”地修复这个错误(没有任何黑客),以便苹果在他们的 Mac App Store 上接受这个应用程序?
编辑:
这是我正在使用的:
[[NSFileManager defaultManager] removeItemAtPath:filePath error:NULL];
谢谢,
凯文
【问题讨论】:
-
嗨,Kevin,您能否发布更多代码,以便我们了解发生了什么?另外,这与您需要
BLAuthentication的应用程序相同吗? -
哇,很有趣,我们又在同一个问题上遇到了,嗯?没有什么不同,在这一个中,我将其提交到 App Store,在这种情况下,他们不允许“root 访问”。我已对问题进行了更改,以包括我正在使用的内容。
-
尝试使用
unlink([filePath fileSystemRepresentation]);,这是删除文件的 POSIX 方式。 -
我应该说它会减少文件的链接计数(这可能会导致删除)。请参阅
unlink页面。我仍然不确定它是否会有所作为。 -
凯文,好的,确定一下。我要指出这一点,以防万一。另外,作为一般建议,让您的代码看起来像这样并告诉我们它打印出来的内容:
NSError *error; [[NSFileManager defaultMAnager] removeItemAtPath:filePath error:&error]; NSLog(@"%@", error);
标签: objective-c cocoa xcode macos nsfilemanager