问题标签 [nstask]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - NSTask waitUntilExit hanging app on jailbroken iOS
So I've got NSTask to run a script which generates a list of something, into a txt, which I read from. But if I use my current code (below), the alert pops up before the NSTask is finished, thus resulting in a blank alert. I've tried waitUntilExit
but that makes the button that invokes this action freeze, but the UI doesn't lock up itself.
Any idea how I'd have the NSTask finish before invoking the alert? Thanks.
Edit: Code with NSNotification:
objective-c - 如何将 com.apple.systemuiserver 首选项重新加载到 SystemUIServer 应用程序中?
对于我的 Mac OSX 应用程序,我有一个功能可以在单击按钮时删除屏幕右上角的系统时钟。控制显示哪些系统菜单的首选项(包括系统时钟)存储在 ~/Library/Preferences/com.apple.systemuiserver.plist 中。我能够更新该文件中的相关首选项以删除系统时钟。但是,需要重新启动 SystemUIServer 应用程序,以便重新加载新的首选项并删除时钟。这是我用来重新启动 SystemUIServer 的代码。
当 SystemUIServer 被杀死时,OSX 会自动重新启动它。上面的代码有效,但系统时钟的删除并不像我想要的那样干净。整个系统栏被删除一秒钟。谁能想到将首选项重新加载到 SystemUIServer 的更好方法?理想情况下,我希望系统时钟的删除与系统偏好设置应用程序的日期和时间偏好中的时钟显示功能一样干净。
objective-c - NSTask 问题
我试图让我NSTask
为我解压缩文件。如果路径没有空格,这很好用,但是当它这样做时,它找不到任何文件。我无法对"
标志进行硬编码,因为我将 zip 文件存储在系统分配的临时文件夹中。
有谁知道如何实现这一目标?
这是我的代码:
cocoa - 使用包含文件的第一级文件夹的 NSTask 创建 zip 存档
我的方法适用于从先前创建和填充的临时目录中压缩文件:
但是解压缩后我想要的是一个包含文件的文件夹。确定我可以在 tempDir 中创建一个文件夹并在那里写入我的文件,但是在创建的存档中让文件夹成为顶层的 zip 参数是什么?
我没有看到这个 man zip
。
iphone - 越狱 iOS:NSTaskDidTerminateNotification 无法启动选择器
我似乎和这里有同样的问题:NSTask waitUntilExit hang app on jailbroken iOS
这是我通过 NSNotification 得到的(如上),但taskEnded:
警报没有出现。该脚本肯定是运行的,正如我在调试器中看到的那样。
cocoa - AuthorizationExecuteWithPrivileges() 作为根错误
我是可可的初学者...
我只想在我的 Cocoa App 中启动 Apache 和其他进程。
这是我的代码:
theResult : 此操作需要 root
当我运行'whoami'时,我是 ' root'但是当我运行getuid()时,我是 ' 501' ...
我尝试使用 setuid(0); 但它没有设置!
你能帮助我吗?
谢谢
objective-c - NSTask、命令行工具和root
我正在开发一个需要使用 dd 的应用程序(我使用应用程序包中的 shell 脚本执行此操作,该脚本从应用程序本身收集参数,进行一些检查,然后启动 dd)。
要进行此操作,我需要使用 root 调用 dd,并且我已经查看了 StackOverflow 上的几个解决方案。在我看来,最简单的实现是http://www.sveinbjorn.org/STPrivilegedTask
问题是我的 NSTask 进行了一些复杂的读/写操作(STPrivilegedTask 中不存在)并且不需要全部特权。
因此,我在 c 中编写了一个小型辅助工具,它使用我的应用程序中的正确参数调用我的脚本。我认为的解决方案是在运行我的小型辅助工具后使用 STPrivilegedTask 到 SUID,这样我就可以使用 root 启动它(以及我的脚本和 dd),并且在成功启动后不久我将辅助工具设置为非 SUID(如果有任何错误,我也会这样做,在应用程序退出、应用程序启动等时更安全)。
我实现了它并且工作得很好,也许它并不完美,但我认为这一切都在包中,并且在 SUID 中使用帮助工具只是为了启动听起来足够安全。
有什么想法吗?
谢谢!
cocoa - 以根用户身份使用 NSTask - 错误:“启动路径不可访问”
出于某种原因,当我尝试通过 NSTask 运行任务时,我收到错误消息:“启动路径不可访问”。
我的应用程序以 root 身份运行。如果我在终端中输入完全相同的命令,它运行良好,所以我有点困惑。
我的应用程序将一个名为 relaunch 的工具复制到NSTemporaryDirectory()
. 如果我尝试从这里运行它,我会得到“无法访问启动路径”。奇怪的是,如果我手动将工具复制到我的桌面,然后在 NSTask 中硬编码路径,它将正确执行。我不知道为什么。
有谁知道为什么会这样?
注意:仅供参考,试图让 Sparkle 从 github 工作。
这是代码:
在哪里
cocoa - 为 gdb 创建 NSTask
我正在尝试创建一个使用 GDB 附加到程序的 NSTask,但我的程序在启动任务后只是冻结了。这可能吗?这是我正在使用的代码:
我确定“TestApp.app”在正确的位置,因为我没有收到“没有这样的文件或目录”错误。控制台只打印“已启动”。旋转的沙滩球只持续了一分钟多,直到我结束了跑步。有什么想法可以使这项工作吗?