我正在尝试获取已打开窗口及其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
答案 0 :(得分:0)
我认为您需要检查您的数组,所有数据都不是字典形式。因此,您的所有者名称可能是数组内的数组,然后是inaide字典。 Si,因为你得到错误