Objective c Cocoa-如何将文件复制到/usr/share?

Objective c Cocoa-如何将文件复制到/usr/share?,objective-c,cocoa,privileges,Objective C,Cocoa,Privileges,我正在开发一个类似cocoa的“安装”应用程序,它需要处理一些http请求、一些文件系统读取、将文件复制到/usr/share、设置cron(而不是launchd)以及向用户询问一些信息。 我放弃了PackageMaker,因为我需要更多的灵活性 目前一切进展顺利,但在我的最后一个安装步骤中,我需要: 删除我以前安装的应用程序文件夹(如果存在)。路径始终相同:/usr/share/MY\u APP 在:/usr/share/MY_APP处再次创建应用程序文件夹 将应用程序文件复制到/usr/s

我正在开发一个类似cocoa的“安装”应用程序,它需要处理一些http请求、一些文件系统读取、将文件复制到/usr/share、设置cron(而不是launchd)以及向用户询问一些信息。 我放弃了PackageMaker,因为我需要更多的灵活性

目前一切进展顺利,但在我的最后一个安装步骤中,我需要:

  • 删除我以前安装的应用程序文件夹(如果存在)。路径始终相同:/usr/share/MY\u APP
  • 在:/usr/share/MY_APP处再次创建应用程序文件夹
  • 将应用程序文件复制到/usr/share/MY_应用程序
  • 更新cron作业
使用管理权限保护/usr/share/MY_应用程序是非常重要的,因此普通用户不应该删除它

实施这些步骤的最佳方法是什么

顺便说一句,我使用的是Xcode 3.2

非常感谢!
Carlos。

在飞行前脚本、飞行后脚本和定制UI的安装程序插件之间,我看不出有什么理由不能在PackageMaker中完成所有这些

注意:“安装程序插件”有点误导。用户不必作为一个单独的步骤在某处安装插件;您将插件包含在包中,安装程序将从那里使用它

有关文件如下:。自2.0以来,Xcode中还有一个安装程序插件项目模板

也。当然,如果您编写自己的自定义安装程序,他们根本无法从命令行安装(包括远程安装到装满机器的办公室或实验室)


顺便问一下:为什么是/usr/share?你在放什么?可能有更好的方法来完成您真正想要完成的任务。

当然,除/usr/local/*之外的/usr下的任何内容都是苹果操作系统的一部分,只有苹果才应该安装在那里。如果一个Cocoa应用程序应该在/Applications或类似的目录下,以便服务等可以找到它。安装包才是真正的选择。他们可以运行自定义代码,这是您应该做的。之所以安装在/usr/share中,是因为该应用程序是一个跨操作系统的应用程序(),它的第一个发行版来自linux。此外,它没有用户界面,因为它基本上是一个cron作业,它以给定的频率检查URL,如果必须,它会运行大量bash指令。Cocoa应用程序需要以一种奇特而友好的方式正确地配置核心应用程序,并且需要重用以前的配置(如果存在),执行一些POST并访问restful http服务,并实现一些逻辑。再次感谢你!cyaconi:正如我提到的,你应该能够在安装程序插件中做同样的事情。Peter,我来试试。非常感谢。