에서 맥 OS X (LoginItem) 도우미 응용 프로그램을 시작 나는 응용 프로그램 Main.app과 Main.app/Library/LoginItems 폴더 내에서 응용 프로그램 Helper.app 있습니다. Main.app는 사용자가 시작할 수 있으며 사용자는 Helper.app를 로그인 항목으로 설정할 수 있습니다. (SMLogItemSetEnabled() 사용),이 완벽하게 작동합니다. 사용자가 Helper.app를 로그인 항목으로 설정하면 해당 항목도 실행됩니다.주 응용 프로그램
그러나 로그인 항목으로 설정하지 않고 Helper.app을 시작할 수도 있습니다. 나는 lsboxd 제공
[[NSWorkspace sharedWorkspace] launchApplication: newPath];
이 작업을 수행하려고했습니다 : 프로세스가 실행하지 못하도록하는 ... 오류 및
[NSTask launchedTaskWithLaunchPath:newPath arguments: [NSArray array]];
느릅 나무와 함께 제공하는 거부 금지-sandbox- 재 입력 오류. 다음과 같이 (?를 Helper.app이 내부 입니다 아마도 때문에 Main.app)
하는 newpath가 발견 :
NSMutableArray *pathComponents = [NSMutableArray arrayWithArray:[[[NSBundle mainBundle] bundlePath] pathComponents]];
[pathComponents addObject:@"Contents"];
[pathComponents addObject:@"Library"];
[pathComponents addObject:@"LoginItems"];
[pathComponents addObject:@"Helper.app"];
[pathComponents addObject:@"Contents"];
[pathComponents addObject:@"MacOS"];
[pathComponents addObject:@"Helper"];
NSString *newPath = [NSString pathWithComponents:pathComponents];
어떻게이 문제를 해결할 수 있습니까? :)
감사합니다.
http://stackoverflow.com/questions/12971549/mac-os-sandbox-launching-main-application-from-helper - 그것은 * * 한 번 도망 간다 서명 문제가 될 수 있습니다 앱이 앱 스토어에 있습니다 – Petesh
1Password Helper 프로세스와 함께 1Password가이를 수행 할 수있는 것처럼 보이며 샌드 박스 처리됩니다. 나는 그들이 어떻게 그것을 성취 하는지를 정말로 궁금해한다. –
나는 또한 이것을 검색하고 있었고 나는 당신이 그것을 묘사 한 방식으로 시도했다. (나는 경로를 하드 코딩했는데, 왜 그렇게하는지 왜 볼 수 없다는 것을 제외하고는) 즉시 작동했다. 나는 당신이 뭘 잘못하고 있는지 (또는 내가 뭔가 잘못하고 있다면, 그것이 나를 위해 일하게 만든다) 모르겠다. – Sitses