1

如何制作应用程序以显示在终端中使用 w 命令登录到计算机的所有用户?

我制作了 Beta 版应用程序,但它禁用了沙盒 [它显示了用户],但它没有启用沙盒 [它说没有用户登录]。代码是:

NSTask *task = [NSTask new];
[task setLaunchPath:@"/usr/bin/w"];

NSPipe *output = [NSPipe pipe];
[task setStandardInput:[NSPipe pipe]];
[task setStandardOutput: output];

[task launch];
NSFileHandle * read = [output fileHandleForReading];
NSData * dataRead = [read readDataToEndOfFile];
NSString *result = [[NSString alloc] initWithData:dataRead encoding:NSUTF8StringEncoding];
[TView setString: result];
4

2 回答 2

0

您可以尝试使用FreeBSD命令的源代码w您的应用程序中实现其功能并查看它是否有效(不知道是否有效)。但至少你不会遇到运行外部程序的问题......

但是,如果它需要访问非标准区域,那么它将无法在沙盒应用程序中运行。

于 2012-11-02T05:33:10.593 回答
0

您尝试运行的实用程序 ( w) 正在尝试访问沙盒外部的文件。简而言之,从沙盒应用程序启动时它将不起作用。

于 2012-11-01T22:54:04.360 回答