我需要在系统启动时启动我的应用程序,但问题是:它已经在App Store中,所以我必须遵循一些规则,比如使用沙盒.这导致所需函数失败,如LSSharedFileListInsertItemURL和SMLoginItemSetEnabled.在这种情况下我该怎么做?
我有一个LSUIElement设置为1的应用程序.它有一个内置编辑器,所以我希望在编辑器打开时应用程序出现在Cmd + Tab循环中.
-(void)stepIntoForeground
{
if (NSAppKitVersionNumber < NSAppKitVersionNumber10_7) return;
if (counter == 0) {
ProcessSerialNumber psn = {0, kCurrentProcess};
OSStatus osstatus = TransformProcessType(&psn, kProcessTransformToForegroundApplication);
if (osstatus == 0) {
++counter;
} else {
//...
}
}
}
-(void)stepIntoBackground
{
if (NSAppKitVersionNumber < NSAppKitVersionNumber10_7) return;
if (counter == 0) return;
if (counter == 1) {
ProcessSerialNumber psn = {0, kCurrentProcess};
OSStatus osstatus = TransformProcessType(&psn, kProcessTransformToUIElementApplication);
if (osstatus == 0) {
--counter;
} else {
//..
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题是: