【问题标题】:How to Copy Folder to System folder in Cocoa如何将文件夹复制到 Cocoa 中的系统文件夹
【发布时间】:2011-01-11 04:17:39
【问题描述】:

我正在用 cocoa 开发一个应用程序,它需要将一组文件复制到系统文件夹。将文件复制到系统文件夹时,我收到“权限被拒绝”错误消息。我该如何解决这个问题。

请任何人帮助我...

提前致谢

【问题讨论】:

  • Apple 非常清楚 System 文件夹对开发人员来说是禁区,他们保留更改其中存储的任何内容的权利。这就是为什么他们在 Library 文件夹中提供文件夹来添加您想要放入 System.如果您可以告诉我们您需要复制哪些文件,我们可以告诉您放置它们的最佳位置。

标签: cocoa macos copy file-permissions


【解决方案1】:

没有必要在 /System 中放置任何东西,而且无论如何这可能不是一个好主意,因为它可能会被系统更新清除。我的猜测是,您想做的任何事情都应该通过其他方式实现,例如使用 /Library 或 ~/Library。

【讨论】:

  • 我能想到两件事,AFAIK,只能在 /System 中工作:设备驱动程序和文件系统驱动程序。甚至内核扩展(如果它们是特定于应用程序的,而不是设备驱动程序)也可以在 /System 之外工作;您只需要通过运行 kextload 按需加载它们。
【解决方案2】:

Mac OS X 使用授权系统来阻止应用程序在没有警告的情况下将文件复制到系统位置。这就是为什么在安装框架时必须输入凭据的原因。

如果您想在您的应用程序中执行特权操作,我建议您阅读Authorization Services Programming Guide,尤其是场景一章:它将帮助您决定如何进行文件复制。

【讨论】:

  • 共享链接已损坏
  • 我已经修复了链接。
【解决方案3】:

使用 PackageMaker 制作正确的安装程序包,就像我在 your previous question 上建议的那样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多