当前位置: 首页 > 知识库问答 >
问题:

写入文件Xcode MacOS

顾池暝
2023-03-14

我无法运行将pid写入文件的这段代码。

NSString *text = [NSString stringWithFormat:@"%d\n", getpid()];
NSError *error = nil;

if (![text writeToFile:@"/tmp/Frontend.pid" atomically:YES encoding:NSUTF8StringEncoding error:&error]) {
    NSLog(@"Cannot write PID file %@: %@", @"/tmp/Frontend.pid", error);
    return NO;
}

这是我得到的错误。

2017-11-13 20:19:18.742171 0530测试线程[7648:273326]无法写入PID文件/tmp/前端。pid:Error Domain=nscocaerordomain Code=513“您没有权限将文件“Frontend.pid”保存在文件夹“tmp”中。”UserInfo={NSFilePath=/tmp/Frontend.pid,NSUnderlyingError=0x6040000432a0{Error Domain=NSPOSIXErrorDomain Code=1“不允许操作”}}

我已将目录的权限更改为777,但它仍然没有足够的权限。请帮忙。

共有3个答案

荀振国
2023-03-14

/tmp是macOS上 /private/tmp的符号链接。您是否更改了链接或目标的权限?

例如,在我的机器上,我看到以下内容:

$ ls -ld /tmp
lrwxr-xr-x@ 1 root  wheel  11 Oct 14 14:55 /tmp -> private/tmp
$ ls -ld /private/tmp
drwxrwxrwt  16 root  wheel  512 Nov 13 06:43 /private/tmp

这意味着只有root用户可以修改链接,但任何人都应该能够写入目录。事实上,我可以在那个目录中很好地编写文件。由于有粘性位,只有在/tmp(或root或wheel)中拥有文件本身的用户才能删除/重命名文件。

我会检查您是否在/tmp/Frontend中还没有文件。权限设置为无法覆盖的pid(writeToFile:原子:编码:错误将覆盖现有文件)。

东郭海阳
2023-03-14

只是为了补充。在XCode10上,我按照@alDiablo的建议更改了权利。

转到目标,并在功能上启用用户选择的文件为读/写。

谢谢

鲍宁
2023-03-14

好吧,我终于修复了它。这是xcode中一个新项目的默认配置,它毁了整个文件io的事情。我关闭了权利文件中的这两个旋钮,可以开始了。

 类似资料:
  • 问题内容: 如何将一小段文字写入文件?我已经使用Google搜索了3-4多个小时,但无法找到具体方法。 有很多论据,我不知道该如何使用。 当您只想在文件中写一个名字和几个数字时,最容易使用的功能是什么? 编辑:添加了一段我的代码。 问题答案:

  • Go将数据写入文件的方法和上面介绍过的读取文件的方法很类似。 package main import ( "bufio" "fmt" "io/ioutil" "os" ) func check(e error) { if e != nil { panic(e) } } func main() { // 首先看一下如何将一个字符

  • 通过FileEntry的createWriter方法可以获取FileWriter对象,通过FileWriter可以对文件进行写操作: fileEntry.createWriter(function(fileWriter) { //We'll do something with fileWriter later }, errorHandler); 对于FileEntry,可以通过Entry

  • 相应的,文件读取有了,自然有文件写入类,使用方式与FileReader也类似: FileWriter writer = new FileWriter("test.properties"); writer.write("test"); 写入文件分为追加模式和覆盖模式两类,追加模式可以用append方法,覆盖模式可以用write方法,同时也提供了一个write方法,第二个参数是可选覆盖模式。 同样,

  • 问题内容: 我将如何将javafx.scene.image.Image图像写入文件。我知道您可以在BufferedImages上使用ImageIO,但是有什么方法可以使用javafx图像吗? 问题答案: 差不多3年后,我现在有知识去做并回答这个问题。是的,原始答案也是有效的,但它涉及到先将图像转换为BufferedImage,我理想上想完全避免摆动。虽然这确实会输出图像的原始RGBA版本,足以满足

  • 问题内容: 我必须从用户那里获取用户的名称和地址,并将其放入文本文件中。我写以下代码: 当我运行代码时,它需要用户输入,但文本文件为空。地址和名称未写入文本文件。如何在上面的代码中将名称和地址存储到文本文件中。 问题答案: 您创建的,但从来没有或它。 这些操作是实际写入文件的操作 正如@ManoDestra在注释中指出的那样,Java支持statement,它允许您将语句的格式设置为: 由于实现了

  • 问题内容: 我正在尝试从Http帖子回复文件写入 sdcard 上的文件。一切正常,直到检索到字节数据数组为止。 我尝试在清单中设置权限,并尝试了许多在网上找到的教程的不同组合。 我所能找到的只是使用活动的方法,但是我的应用程序如何通过线程来写入文件。具体来说,当必须写入文件时,会从另一个线程中调用一个线程,因此即使我尝试了活动对象,也无法使用它。 该应用程序已经走了很长一段路,我无法更改当前编写

  • 问题内容: 我有下面的代码 执行后,文件创建成功,但创建的文件为空 那么代码有什么问题呢? 问题答案: 您必须关闭,否则不会刷新当前缓冲区。您可以直接调用该方法。 如果要关闭文件,则无需使用该方法。该可用于例如,如果一会你的程序运行和输出文件中的东西,你想在其他地方检查。