无法在应用商店的沙盒 OSX 应用程序中使用 libproc
Unable to use libproc in a sandboxed OSX app for app store
我有一个C++应用程序,它使用libproc来获取打开的应用程序列表。未沙盒化时按预期工作。但是,要部署到应用商店,它必须被沙盒化,并且这样做时,proc_listallpids(来自libproc(不再起作用。无论如何,围绕这个?
#include <libproc.h>
#include <stdio.h>
#include <string.h>
void find_pids()
{
pid_t pids[2048];
int bytes = proc_listallpids(pids, sizeof(pids));
int n_proc = bytes / sizeof(pids[0]);
for (int i = 0; i < n_proc; i++) {
struct proc_bsdinfo proc;
int st = proc_pidinfo(pids[i], PROC_PIDTBSDINFO, 0,
&proc, PROC_PIDTBSDINFO_SIZE);
printf("%sn", proc.pbi_name);
}
}
int main()
{
find_pids();
return 0;
}
NSWorkspace.runningApplications 是获取有关正在运行的应用程序(而不仅仅是进程(的信息的更特定于 Mac 的方式,它可能在沙盒应用程序中工作。但一般来说,沙盒应用应该无法看到彼此。
不,没有办法解决这个问题。
沙盒的目的是将您的应用程序与计算机上运行的其他进程隔离开来。它通过阻止应用程序查看这些进程来正确完成其工作。
相关文章:
- osX - 如何从我的 QT 应用程序启动另一个程序
- 如何将我的控制台应用程序链接到使用 clang++ 作为编译器的 OSX 环境中的 /usr/local/lib 中存在
- 无法在应用商店的沙盒 OSX 应用程序中使用 libproc
- 在OSX 10.9上部署Qt 5.2.1应用程序时出现链接器错误
- QT应用程序在OSX中启动另一个应用程序
- OSX-Qt应用程序在接收系统事件QEvent::FileOpen时崩溃
- 如何从c++应用程序在osx上弹出xterm
- OSX 上的应用程序构建找不到配置文件
- 在Qt Creator中设置OSX的应用程序图标
- 如何在OSX应用程序的标题栏中添加Qt中的全屏图标
- 如何在OSX中执行时强制Qt应用程序成为活动/前台窗口
- 在命令行OSX应用程序中创建警报/消息框
- Qt:Qt应用程序中的键盘快捷键分配(使用"&")是否不适用于Mac OSX?
- 无法运行使用 macdeployqt 创建的 OSX 应用程序。使用 Fusion 样式时缺少可可插件
- 在Mac OSX上为i386目标构建Apache Thrift应用程序失败
- 控制台应用程序中的OSX主队列
- 哪些用Qt编写的应用程序可以同时在OSX和Windows上运行?
- Gtkmm 无法在 OSX 上打开应用程序窗口
- 如何在新程序中包含来自其他c++文件的函数(适用于Mac OSX应用程序)
- 将数据从OSX应用程序推送到nodeJS