获取打开的Windows错误列表

时间:2013-10-17 01:57:35

标签: macos cocoa nsarray

我正在尝试获取已打开窗口及其PID的列表。

这是我提出的代码:

CFArrayRef windowList = CGWindowListCreate(kCGWindowListOptionOnScreenOnly,kCGNullWindowID);

if (windowList == nil || NULL)
    NSLog(@"The List is null");

for(NSMutableDictionary *entry in (__bridge NSArray *)windowList){
    NSString *ownerName = [entry objectForKey:(__bridge id)kCGWindowOwnerName];
    NSInteger ownerPID = [[entry objectForKey:( __bridge id)kCGWindowOwnerPID]integerValue];
    NSLog(@"%@:%ld",ownerName, ownerPID);
}

在我声明ownerName的行中,我得到一个异常(线程1:SIGBART)

我无法弄清楚出了什么问题...... CFArrayRef不是NULL / nil

1 个答案:

答案 0 :(得分:0)

我认为您需要检查您的数组,所有数据都不是字典形式。因此,您的所有者名称可能是数组内的数组,然后是inaide字典。 Si,因为你得到错误