小编opo*_*oko的帖子

将包含URL的NSString转换为POSIX路径

我正在努力在NSPathControl将文件或文件夹放到文件夹或文件夹之后检索文件夹或文件的POSIX路径.

我是初学者,但我能够通过Destination这种方式从我的代码中获取控件(被调用)的值:

NSString *filepath;
filepath = [Destination stringValue];
Run Code Online (Sandbox Code Playgroud)

这给了我类似的东西

file://test/My%20New%20Project/

但我希望以POSIX路径形式:

/test/My New Project
因为我需要将它传递给NSTask正在运行的命令行程序.

有关如何将此内容NSString从URL格式转换为POSIX路径的任何建议?

cocoa objective-c nsstring nspathcontrol

7
推荐指数
1
解决办法
3317
查看次数

NSTask,命令行工具和root

我正在开发一个需要使用dd的应用程序(我在应用程序包中使用shell脚本执行此操作,从应用程序本身收集参数,进行一些检查然后启动dd).

要进行此操作,我需要使用root调用dd,我已经在StackOverflow上查看了几个解决方案.最简单的实现在我看来这个http://www.sveinbjorn.org/STPrivilegedTask

问题是我的NSTask进行了一些复杂的读/写操作(不存在于STPrivilegedTask中),并且不需要全部特权.

所以我在c中编写了一个小帮手工具,用我的应用程序中的正确参数调用我的脚本.我认为解决方案是使用STPrivilegedTask来启动我的小助手工具,所以我可以用root启动它(以及我的脚本和dd),并且在成功启动后不久我将帮助工具设置为非SUID(如果有任何错误,在app退出,应用程序启动等,我也会这样做...更安全).

我实现它并且工作得很好,也许它并不完美,但我认为完全在捆绑中,并且在SUID中使用辅助工具只是为了发射声音足够安全.

有什么想法吗?

谢谢!

shell objective-c root nstask suid

6
推荐指数
1
解决办法
1765
查看次数

标签 统计

objective-c ×2

cocoa ×1

nspathcontrol ×1

nsstring ×1

nstask ×1

root ×1

shell ×1

suid ×1