我正在尝试编写一个Cocoa应用程序,使Mac上的Android开发人员更容易创建Android应用程序。
当用户按下应用程序上的按钮时,我希望它将某个目录添加到Mac上的环境$ PATH变量。
是否有另一种方式来通过Cocoa来做到这一点,而不是打开.bash_profile文件并手动添加路径?
感谢您提前提供任何帮助。
我正在尝试编写一个Cocoa应用程序,使Mac上的Android开发人员更容易创建Android应用程序。
当用户按下应用程序上的按钮时,我希望它将某个目录添加到Mac上的环境$ PATH变量。
是否有另一种方式来通过Cocoa来做到这一点,而不是打开.bash_profile文件并手动添加路径?
感谢您提前提供任何帮助。
您可以使用标准C库调用getenv()
和setenv()
来更改应用程序自身的$ PATH。只有您的应用程序及其子进程才能看到此更改。
换句话说,$ PATH更改不会是全局的。如果你想这样做,你将不得不改变启动文件。
通过将一个字典文件写入Home/.MacOSX/environment.plist,您可以设置全部用户进程的环境。但是,这只在注销后发生。
我认为实现您的目标的最好方法是使用NSTask作为您自己的应用程序的子进程启动相关程序,通过在启动NSTask对象之前发送一个setEnvironment:
消息来设置其环境。