如何检查哪些应用程序启用了 SMLoginItemSetEnabled?
终端或哪个文件夹,文件包含它?
我在下面运行 2 个应用程序,但它无法在登录时启动 => 我需要检查帮助应用程序是否启用。
如何检查哪些应用程序启用了 SMLoginItemSetEnabled?
终端或哪个文件夹,文件包含它?
我在下面运行 2 个应用程序,但它无法在登录时启动 => 我需要检查帮助应用程序是否启用。
SMJobCopyDictionary
您可以使用(甚至)检查登录项状态,SMCopyAllJobDictionaries
如下所示:
- (BOOL)launchAtLoginWithBundleId:(NSString*)bundleId {
CFDictionaryRef dict = SMJobCopyDictionary(kSMDomainUserLaunchd, (CFStringRef)bundleId);
if (dict == NULL) {
return NO;
}
CFRelease(dict);
return YES;
}
苹果不推荐使用
SMJobCopy字典
@discussion 返回的字典的内容并不完全代表磁盘上的属性列表,并且从发布到发布都不稳定。此例程已弃用,将在未来版本中删除。将不提供替代品。
更好的使用SMCopyAllJobDictionaries
方法
BOOL enabled = NO;
NSArray *jobs = (NSArray*)SMCopyAllJobDictionaries(kSMDomainUserLaunchd);
if (jobs || [jobs count]>0) {
for (NSDictionary *job in jobs) {
if ([[job objectForKey:@"Label"] isEqualToString:bundleId]) {
ret = [[job objectForKey:@"OnDemand"] boolValue];
break;
}
}
}
[jobs release];