app 注册开机 启动
LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
//url为app所在的目录
CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:appPath];
LSSharedFileListItemRef item = LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemLast, NULL, NULL, url, NULL, NULL);
CFRelease(item);
CFRelease(loginItems);
app取消自动启动的 注册
UInt32 seedValue;
CFURLRef thePath;
LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL);
CFArrayRef loginItemsArray = LSSharedFileListCopySnapshot(loginItems, &seedValue);
for (id item in (NSArray *)loginItemsArray) {
LSSharedFileListItemRef itemRef = (LSSharedFileListItemRef)item;
if (LSSharedFileListItemResolve(itemRef, 0, (CFURLRef*) &thePath, NULL) == noErr) {
//appPath目录为要取消开机启动app的路径
if ([[(NSURL *)thePath path] hasPrefix:appPath])
{
LSSharedFileListItemRemove(theLoginItemsRefs, itemRef); // 删除指定的启动项
}
CFRelease(thePath);
}
}
CFRelease(loginItemsArray);
CFRelease(loginItems);
本文介绍了如何使用Xcode和Objective-C在Mac OS上注册App以实现开机自动启动和取消自动启动的方法。

3723

被折叠的 条评论
为什么被折叠?



